转换关系如下:
1、区位码(十进制)转换成区位码(十六进制)。这里要把前两个位换成十六进制,然后后两位换成十六进制。例如,某汉字的区位码是5448,这样把54转换为16进制数36;再把位码48转换为16进制数为30,得到十六进制数3630。
2、国际码=区位码(十六进制)+2020H例如,3630H+2020H=5050H得到国标码GB2312
3、汉字机内码=国际码+8080H机内码就是5050H+8080H=D0D0HASCII码是八位的一个字节最高位为0,这样可以区分和汉字编码的区别。
扩展资料:
区位码、国标码、内码的转换,首先,需要注意到一点,GB2312虽说是对中文编码,但是里面也有对26个英文字母和一些特殊符号的编码。在制定GB2312时,决定对ASCII中的可打印字符,也就是英文字母、数字和符号部分重新编入GB2312中,以两个字节表示,称之为全角字符。
对于ASCII中前32个不可显示也不可打印的控制字符(ASCII码为0~31),以及第33个可显示但不可打印的空格字符(ASCII码为32)等共33个不可打印字符的编码则直接沿用,不再重新编码。区位码中的区码和位码都是从1开始计数的,不像ASCII码是从0开始计数的)。
参考资料来源:百度百科-区位码
参考资料来源:百度百科-内码
参考资料来源:百度百科-国际码
区位码、国标码与机内码的转换关系(1)区位码先转换成十六进制数表示
(2)(区位码的十六进制表示)+2020H=国标码;
(3)国标码+8080H=机内码
举例:以汉字“大”为例,“大”字的区内码为2083
解:1、区号为20,位号为83
2、将区位号2083转换为十六进制表示为1453H
3、1453H+2020H=3473H,得到国标码3473H
4、3473H+8080H=B4F3H,得到机内码为B4F3H小结:字符编码的两种表示方式:ASCII(字符的表示);GB2312(国标码,汉字编码)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)