某汉字的区位码是5448,它的机内码是多少?请写出计算公式.
问题描述:
某汉字的区位码是5448,它的机内码是多少?请写出计算公式.
答
根据GB2312-80,GB标准汉字6763个,加上其它字符分成87区94位,每一个汉字都可用一个十进制的区号+位号来表示,这就是区位码.
而国标码则是十六进制的双字节代码,每个字节分别对应区号和位号,所以只要对十进制的区位码分别将区号和位号转换成十六进制就是国标码.
而机内码则是国标码在计算机内的存放形式,为了与ASCII码兼容,汉字机内码每个字节的最高位必须是“1”,所以只要将国标码加上8080H就成为机内码.
简单的方法:
先将区位码的高位和低位,变成16进制.
加 2020H 就是国标码;再加 8080H 就是机内码.
从区位码到机内码,也就是直接加A0A0H,就可以了.
本题的区位码是5448,54化成16进制是36,48化成16进制是30
合起来是3630H,加A0A0H,结果是D6D0H,所以其机内码是D6D0.