汉字编码--区位码、国标码、机内码的关系

根据原理我们知道区位码加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。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值