GB2312编码_gb2312是简体中文的编码格式

GB2312编码_gb2312是简体中文的编码格式在区码和位码的基础上,分别加上0XA0的偏移,便是GB2312编码;我们制作ASCII字库时,一般只做可以显示出来的字符字模,前面命令型的ASCII字符,我们不做字模,即从“空格开始”,ASCII表

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

GB2312编码_gb2312是简体中文的编码格式

在区码和位码的基础上,分别加上0XA0的偏移,便是GB2312编码;

 

 

 

 

 

GB2312编码_gb2312是简体中文的编码格式

 

 

GB2312编码_gb2312是简体中文的编码格式

 

 

 

 

我们制作ASCII字库时,一般只做可以显示出来的字符字模,前面命令型的ASCII字符,我们不做字模,即从“空格开始”,ASCII表对应0x20,所以当我们使用PCtoLcd的16X16选项制作字库时,(注意英文的实际占用的是8X16,要比汉字小半个字宽),所以,如果根据标准ASCII表制作字库时,可以根据字符的汉字相对于“空格”的偏移找到对应字库中的偏移地址,找到对应的字模;如找到”A”对应的字模:Address = (“A” – ” “) X (8 X 16 )/8,从这个偏移地址向后连续取16个字节,即是”A”的所有字模 。

 

GB2312是在区位码的地址基础上分别偏移0xA0,每个区有94个汉字;每个汉字占用的字节为(16X16)/8=32个字节;汉字字库的第一个字符也是“空格”,但这个是全角的和ASCII的不一样;如我们再写液晶驱动程序显示一个英文字母时,void (uchar x,uchar y,uchar en)   可以这样寻找偏移=’en’-‘ ‘  。

该空格的区位码是“0101”,所以任意一个汉字的偏移地址公式是,Address= ( (CodeH-0x30-1)*94+(CodeL-0x30-1) )*( 16*16 )/8;CodeH是GB2312的第一个字节,CodeL是GB2312的第二个字节,减一 是因为区位码是从第一区开始的,而字模数组表是从0开始的;  (以上的计算均是按16*16取模时计算的)

当我使用单片机编程工具写程序时,编译的时候,编译器会根据我们的选择(如MDK)会自动将字符串转换成机内码即GB2312形式进行存储,所以我们可以根据GB2312与区位码的关系进行寻找地址偏移。如我们在液晶驱动程序中写一个中文汉字显示程序,void(uchar x,uchar y,uint16 hz )   可以这样找区位码,CodeH=hz>>8;  CodeL=hz&0x00ff;  

注意英文和汉字的参数定义类型一个是8位uchar 型的,一个是u16位int16型的,因为GB2312在系统中是占用2个字节的,英文只占用一个字节

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168131.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • pycharm运行后出现process finished_pycharm进程已结束,退出代码0

    pycharm运行后出现process finished_pycharm进程已结束,退出代码0pycharm运行代码只显示Processfinishedwithexitcode0的解决办法通过右键xxx.py点击run按钮执行文件,提示Processfinishedwithexitcode0但是通过py.test的命令就可以执行成功且无以下的绿色执行按钮只需要在以下路径中进行设置然后重启pycharm就可以:…

  • Element 修改 table 里面的滚动条样式

    不考虑兼容的时候,可以全局设置成这种样式修改全局滚动条样式<style>/*定义滚动条高宽及背景高宽分别对应横竖滚动条的尺寸*/::-webkit-scrollbar{width:6px;/*滚动条宽度*/height:8px;/*滚动条高度*/background-color:white;}/*定义滑块内阴影+圆角*/::-webkit-scrollbar-thum.

  • 浅析Werkzeug服务无缝更新「建议收藏」

    浅析Werkzeug服务无缝更新「建议收藏」一直以来对于SAE上python应用无缝更新好奇今天就来分析一下应用启动入口我用的是Flask从dev_server.py中WsgiWorker可以找到运行服务的入口:fromwerkzeug.servingimportrun_simplerun_simple(…)注意其中参数: use_reloader=True

  • 模糊查询:Spring Data JPA 如何进行模糊查询(LIKE) ?「建议收藏」

    模糊查询:Spring Data JPA 如何进行模糊查询(LIKE) ?「建议收藏」SpringMVC+SpringDataJPA+模糊查询为了方便起见,service直接忽略,方便理解。一.方法一1.Controller层:方法参数如下,一定要加”%”+name+”%”/***@description:*@author:czx<15610554031@163.com>*@date:2018/1/22…

  • ag-grid 设置单元格以及行的颜色「建议收藏」

    ag-grid 设置单元格以及行的颜色「建议收藏」在使用ag-grid的时候有通过单元格的值设置不同行颜色,然后百度了网上的方法,汇总了一下,具体效果图如下:话不多说,直接上代码。<!doctypehtml><html><head><metacharset=”utf-8″><metaname=”viewport”content=”width=device-width,initial-scale=1,shrink…

  • 杭州电信域名解析服务器,浙江电信的DNS是多少?

    杭州电信域名解析服务器,浙江电信的DNS是多少?1、湖州、嘉兴、绍兴、舟山202.101.172.362、金华、衢州、丽水、台州202.101.172.373、温州202.96.104.164、宁波202.96.104.155、杭州202.101.172.35行政区域名行政区域名是按照我国的各个行政区划分而成的,其划分标准依照国家技术监督局发布的国家标准而定,包括“行政区域名”34个,适用于我国的各省、自治区、直辖市,分别为:BJ-北京市;SH…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号