根据原理我们知道区位码加32就成了国标码,高位第8位为1就成了机内码的原理,可以直接按下面情况处理。
从区位码开始表示
转换成国标码
二进制 区码+100000 位码+100000
八进制 区码+40 位码+40
十进制 区码+32 位码+32
十六进制 区码+20H 位码+20H
转换成机内码
二进制 区码+10100000 位码+10100000
八进制 区码+240 位码+240
十进制 区码+160 位码+160
十六进制 区码+A0H 位码+A0H
从国标码开始
转换成区位码
二进制 区码-100000 位码-100000
八进制 区码-40 位码-40
十进制 区码-32 位码-32
十六进制 区码-20H 位码-20H
转换成机内码
二进制 区码+10000000 位码+10000000
八进制 区码+200 位码+200
十进制 区码+128 位码+128
十六进制 区码+80H 位码+80H
从机内码开始
转换成区位码
二进制 区码-10100000 位码-10100000
八进制 区码-240 位码-240
十进制 区码-160 位码-160
十六进制 区码-A0H 位码-A0H
转换成国标码
二进制 区码-10000000 位码-10000000
八进制 区码-200 位码-200
十进制 区码-128 位码-128
十六进制 区码-80H 位码-80H
练习题目:
已知“江苏”两字的区位码为“2913”和“4353”,则其机内码是( )。
根据上面的方法区位码转换成机内码,十进制方式,应该分别加160。所以结果为
189 173和203 213转换成十六进制为BD AD和CB D5。
1、区位码和国标码
(1)国标:1981年,我国制订了“中华人们共和国国家标准信息交换汉字编码”,代号为“GB2312-80”。
(2)区位码:按国标规定,汉字编码表有94行94列,其行号01~94称为区号,列号01~94称为位号。一个汉字所在的区号和位号简单地组合在一起就构成了这个汉字的区位码。
GB2312-80
区位码=区号+位号(采用十进制) 符:2391
例1:汉字“啊”处于16区的01位,则其区位码为1601。
(3)国标码:又称为“交换码”,它是在不同汉字处理系统间进行汉字交换时所使用的编码。国标码采用两个字节表示,它与区位码的关系是:
国标码高位字节=(区号)16+(20)16
国标码低位字节=(位号)16+(20)16
例2:汉字“啊”的区位码为1601,则其国标码为(3021)16。
2、汉字内码(机内码)
(1)概念:在计算机内部表示汉字的代码。
(2)特点:汉字内码采用两个字节,一个汉字占两个ASCII字符;汉字内码最高位为1,ASCII码最高位为0
(3)汉字内码与区位码的关系:
汉字内码高位字节=(区号)16+(A0)16
汉字内码低位字节=(位号)16+(A0)16
例3:汉字“啊”的区位码为1601,则其汉字内码为(B0A1)16。
3、汉字外码(汉字输入码)
(1)概念:是指从键盘上输入的代表汉字的编码,又称“汉字输入码”。例如区位码、拼音码、五笔字型码等。
国标码=区位码+2020H
(区码和位码分别由十进制转换为对应的十六进制后+2020H)
机内码=国标码+8080H
例: “大”字的区位码为2083, 20D=14H 83D=53H 1453H+2020H=3473H
所以,国标码为3473H,
B4F3H=3473H+8080H 所以,机内码为B4F3H。