4.1.2 汉字编码标准
为了用0、1代码串表示汉字,在汉字系统或通信系统之间交换信息,必须给每个汉字规定一个统一的代码。
这就是汉字的交换码。
一、国标码
国标码就是《信息交换用汉字编码字符集》(GB 2312-80) 为汉字规定的代码,在代码表中,纵向分为0-93 ,共94 行。
横向也分为0-93 ,共94 列。
行列均用7 位二进制表示,即一个汉字要用两个字节。
也可用十六进制表示。
国标码查表原则是先列后行,例如:
图 4.2 GB2312-80 代码表(局部)
国标码共收集7445 个,一级汉字3755 个, 按汉语拼音排序;二级汉字3008 个, 按部首笔画排序。
二、区位码
区位码是国标码的另外的一种表示形式。
将行号称为区号,将列号称为位号,分别有94 个区,94 个位。
区号和位号均用两位十进制的数表示,据此得出了区位码汉字输入法。
例:“ 啊” 的区位码是1601 ,表示啊字在第16 区,第 1 位,“ 保” 的区位码是1703 ,表示保字在第17 区,第 3 位。
三、机内码
机内码是在计算机内部使用的表示汉字的代码,用两字节二进制表示。
(在国标
码每个字节前添1 就是机内码,添1 是为了确保与英文字符区分开)。
输入汉字→国标码( 区位码) →机内码→存储
转换关系:十六进制的区位码+ 2020H →国标码
十六进制的国标码+ 8080H →机内码
8080H 等于二进制的l000000010000000 ,国标码加上8080H ,可以保证机内码每个字节首位均为 1 。
例:“ 啊” 的区位码是:1601 转换成十六进制1001
1001 +2020=3021 (国标码)
再转换成机内码:3021+8080=B0A1
二进制表示为1011000010100001 (B0A1 )
中山市港口理工学校计算机科温金辉。