带你读《全景揭秘字符编码》之九:九、常见字符编码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