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位)
热门手游排行榜