> 攻略 > 手游攻略 > 详情

国标交换码无法用于汉字通信使用的控制码

2024-05-09 06:02:32 | 来源: 互联网整理

为了满足计算机处理汉字信息的需要,我国于1981年颁布了国家标准。该标准选取了6763个常用汉字(其中一级常用汉字3755个,二级常用汉字3008个)和682个非汉字字符,并为每个字符指定一个标准编码,以方便不同计算机系统之间的比较。 汉字文本交换。

字符集形成一个94行94列的二维表。 行号称为区号,列号称为位数。 每个汉字或符号在码表中的位置由其区号和位数表示。

为了便于处理和存储,每个汉字的区号和位数在计算机内部都用一个字节来表示。 例如“学”字的区号为49,位数为07,其区号为4907,用2字节的二进制数表示:

00111

2.国标交换代码

位置码不能用于汉字通讯,因为它可能与通讯使用的控制码(00H~1FH)(即0~31)冲突。 (因为ASCII码编码分为控制信号编码和有形字符编码,所以前32位是控制码,如回车、换行、退格等。为了避免这些控制码,国标码规定:区位码的基础20H(即32的十六进制数)规定每个汉字的区位码和位数必须分别与32(即二进制数)相加,这样处理后得到的代码称为区位码。国标交换码,简称交换码或国际码,因此,“学”字的国标交换码计算公式为:

00111

+ +

--------------------------

00111

用十六进制表示为5127H。

3. 机内代码

由于文本通常使用中西混合字符,如果不明确标识,汉字信息将与单字节 ASCII 码混淆。 解决这个问题的一种方法是把一个汉字看成两个扩展的ASCII码,这样代表这个汉字的两个字节的最高位都是1。这种高位为1的双字节汉字编码就是内部的。汉字的代码,简称内码。

因此,“学”字的内码为:

10111

用十六进制表示为D1A7H。

最后需要指出的是,汉字的输入编码和汉字的机内编码是不同范畴的概念。 无论用什么编码输入法(如拼音、五笔字形等)输入汉字,其内码都是相同的。

4. 总结

区位码、国标码、机内码的转换关系

方法:

(1)首先将位置代码转换为十六进制数。

(2)(位置代码的十六进制表示)+2020H=国标代码;

(3)国标代码+8080H=机内代码

示例:以汉字“大”为例,字符“大”的区号为2083

实例分析:

1. 区号为20,位置号码为83

2、将区号2083转换为十六进制表示为1453H

3、1453H+2020H=3473H,得到国标代码3473H

4、3473H+8080H=B4F3H,内部码为B4F3H

5. 1453H + A0A0H = B4F3H,内部码为B4F3H

6. 机内码 B4F3H-A0A0H=1453H 的位置码

大字符的区域码为20H(区域32、83位)

热门手游排行榜