1 回复
GB 2312 是 1980 年发布的中文编码,共收录 7445 个字符,有 6763 个汉字以及 682 个非汉字字符,其中一级汉字 3755 个,二级汉字 3008 个。
GB 2312 采用双字节编码,两字节最高位均为 1,所以可以兼容 ASCII 码。
整个字符集分为 94 个区,每个区有 94 个位,7445 个字符被填入到这 94*94 个区位中。
每个区位上只有一个字符,因此可用所在的区和位来对汉字进行编码,称为区位码。区位码加上 0x2020 就得到国标码。国标码再加上 0x8080 就得到了两字节的计算机内码。
1 和 94 对应的 16 进制分别为 0x01 和 0x5E。
所以区位码的范围是:0x0101~0x5E5E,加上 0x2020
得到国标码的范围是:0x2121~0x7E7E,加上 0x8080
得到内码的范围是:0xA1A1~0xFEFE
在 GB 2321 中:
1 到 9 区,为非汉字字符。
10 到 15 区,没有字符。
16 到 55 区,为一级汉字,按拼音排序。
56 到 87 区,为二级汉字,按部首/笔画排序。
88 到 94 区,没有字符。
所以对应到内码:
0xA1A1~0xA9FE 为非汉字字符。
0xAAA1~0xAFFE 无编码。
0xB0A1~0xF7FE 为汉字。
0xF8A1~0xFEFE 无编码。