GB2312编码规则与代码实现

您所在的位置:网站首页 GB2312编码转换表数学字 GB2312编码规则与代码实现

GB2312编码规则与代码实现

2023-08-12 21:57| 来源: 网络整理| 查看: 265

GB2312编码范围:A1A1-FEFE,其中汉字编码范围:B0A1-F7FE, 汉字编码: 第一字节0xB0-0xF7(对应区号:16-87),第二个字节0xA1-0xFE(对应位号:01-94)。

GB2312编码是第一个汉字编码国家标准,是由中国国家标准总局1980年发布,1981年5月1日开始实施的一套国家标准,标准号是GB2312—1980。GB2312编码适用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB2312。GB2312编码共收录汉字6763个,其中一级汉字3755个,二级汉字3008个。同时,GB2312编码收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。

分区表示方式: GB2312编码对所收录字符进行了“分区”处理,共94个区,每区含有94个位,共8836个码位。这种表示方式也称为区位码。

01-09区收录除汉字外的682个字符。 10-15区为空白区,没有使用。 16-55区收录3755个一级汉字,按拼音排序。 56-87区收录3008个二级汉字,按部首/笔画排序。 88-94区为空白区,没有使用。

举例来说,“啊”字是GB2312编码中的第一个汉字,它位于16区的01位,所以它的区位码就是1601。

双字节编码方式: GB2312规定对收录的每个字符采用两个字节表示,第一个字节为“高字节”,对应94个区;第二个字节为“低字节”,对应94个位。所以它的区位码范围是:0101-9494。区号和位号分别加上0xA0就是GB2312编码。例如最后一个码位是9494,区号和位号分别转换成十六进制是5E5E,0x5E+0xA0=0xFE,所以该码位的GB2312编码是FEFE。

中文系统编程打印:

int main(void) { FILE * fp = fopen("GB2312Tabel.txt","w"); if(NULL == fp){ printf("open file error!\n"); exit(EXIT_FAILURE); } char ascii[3] = {0}; unsigned int i, j, num = 0; for(i=0XA1; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3