汉字的国标码和机内码是怎么回事?

        英文字母的表示可以用ASCII码,但汉字呢?常用字也有3500个,是不可能通过ASCII的8位二进制编码方式表示的。为了与ASCII码对应,我国国家标准局于1981年5月颁布了《信息交换用汉字编码字符集 —— 基本集》,代号为GB 2312-80,共对6763个字和682个图形字符进行了编码,其编码原则为:汉字用两个字节表示,每个字节采用七位码(高位为0),这就是国标码或交换码。

        但是,当系统中同时存在ASCII码和汉字国标码时,将会产生二义性。例如;有两个字节的内容为30H和21H,它既可以表示汉字“啊”的国标码,又可表示西文“0”和“1”的ASCII码。为了区别,由国标码加以适当处理和变换形成了汉字机内码。国标码的机内码也是二字节长的代码,它是在相应国标码的每个字节最高位上加“1”,即汉字机内码=汉字国标码+8080H。例如,上述“啊”字的国标码时3021H,其汉字机内码则是B0A1H。这样就避免了汉字编码与ASCII不能区分的问题(ASCII最高位为0)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值