为了用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 )
中山市港口理工学校计算机科 温金辉
因篇幅问题不能全部显示,请点此查看更多更全内容