带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(2)

简介: 带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(2)

带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(1) https://developer.aliyun.com/article/1240905?groupCode=tech_library


9.2、GB2312


GB2312是使用两个字节来表示汉字的编码标准,共收入汉字6763个和非汉字图形字符682个。


为了避免与 ASCII 字符编码(0~127)相冲突,规定表示一个汉字的编码字节其值必须大于127(即字节的最高位为 1 ),并且必须是两个大于 127 的字节连在一起来共同表示一个汉字( GB2312 为双字节编码),所以GB2312 属于变长编码,当是英文字符的时候占一个字节,中文字符的时候占两个字节,可以认为 GB2312是对 ASCII 的中文扩展。


GB2312字符集编号空间是一个94*94的二维表,行表示区(高位字节),列表示位(低位字节),每区有94个位,每个区位对应一个字符,称为区位码。区位码上加2020H,就得到国标码,国标码上加8080H,就得到常用的计算机机内码。


这里引入了区位码、国标码、机内码概念,下面我们说下三者的关系。


9.2.1国标码


国标码是我国汉字信息交换的标准编码,规定由4位16进制数组成,用两个低7位字节表示,为了避开 ASCII 字符中的前32个控制指令字符,所以每个字节都是从第33个编号开始。


如下图所示:




带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(3) https://developer.aliyun.com/article/1240902?groupCode=tech_library


相关文章
|
3月前
字符编码问题之GB2312编码设计来避免与ASCII字符编码冲突如何解决
字符编码问题之GB2312编码设计来避免与ASCII字符编码冲突如何解决
58 0
|
3月前
字符编码问题之GB2312编码扩充到包括更多汉字和生僻字的如何解决
字符编码问题之GB2312编码扩充到包括更多汉字和生僻字的如何解决
70 0
|
3月前
字符编码问题之GB18030实现字节变长编码的如何解决
字符编码问题之GB18030实现字节变长编码的如何解决
37 0
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(4)
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(4)
146 0
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(5)
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(5)
138 0
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(6)
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(6)
167 0
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(3)
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(3)
137 0
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(1)
带你读《全景揭秘字符编码》之九:九、常见字符编码3:GB系列(1)
162 0
带你读《全景揭秘字符编码》之七:七、常见字符编码1:ASCII
带你读《全景揭秘字符编码》之七:七、常见字符编码1:ASCII
167 0
|
Unix Linux Windows
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(7)
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(7)
156 0