机内码是汉字在计算机内部使用的编码,国标码是在中国大陆使用最广泛的汉字编码字符集。其转换规则是:机内码是将国标码的每个字节都加上128,即将两个字节的最高位由0改1。
汉字分为输入码、区位码、国标码与机内码。
机内码是国家标准局颁布的《信息交换用汉字编码字符集基本集》(代号为GB231280)规定的汉字交换码作为国家标准汉字编码,是汉字在计算机内部存储、传送、交换的内部编码。
国标码是中国汉字通行的国际标准为我国于1981年制订的“信息交换用汉字编码字符集”,其标准号为GB2312—80,简称国际码,是我国应用最广泛的汉字编码字符集。
国标码(“国标”是中华人民共和国国家标准的简称)在中国大陆使用。GB2312收录6763个汉字,GBK收录20912个汉字,最新的GB18030收录27533个汉字。
汉字的机内码采用变形国标码,其变换方法为:将国标码的每个字节都加上128,即将两个字节的最高位由0改1,其余7位不变。
例如:“保”字的国标码为3123H,前字节为00110001B,后字节为00100011B,高位改1为10110001B和10100011B即为B1A3H,因此,“保”字的机内码就是B1A3H。
扩展资料:
区位码转换为国标码的方式:
国标码是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的代码,再将这个代码的第一个字节和第二个字节分别加上20H,就得到国标码。
如:“保”字的国标码为3123H,它是经过下面的转换得到的:1703D-1103H-+20H-3123H。
参考资料来源:百度百科-机内码
参考资料来源:百度百科-国际码
转换关系如下:
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(国标码,汉字编码)