机内码和国标码如何转换?

2024-05-18 14:36

1. 机内码和国标码如何转换?


机内码和国标码如何转换?

2. 机内码、国际码、区位码之间如何换算

一般换算全部用十六进制。机内码、国际码是十六进制的,区位码是十进制的。具体换算步骤:(H表示十六进制,D表示十进制)
1、将四位数的区位码分为两部分,两位数一组。
2、将这两个两位数换算为十六进制,运用公式进行计算。
国际码=区位码(十六进制)+2020H
机内码=国际码+8080H 
例如:某汉字的区位码是2534。则25D=19H,34D=22H
则国际码=1922H+2020H=3952H,机内码=3952H+8080H=B9D2H

扩展资料
区位码、国标码与机内码都是汉字的编码形式,它们之间有着千丝万缕的联系,但其间的区别也是不容忽视的。
国标码是基础,指国家标准汉字编码。即《信息交换用汉字编码字符集(基本集)》,简称GB-2312。该字符集有汉字6763个。设有94个区,每个区94个位。每个汉字有一个固定的区位。
区位码与国标码的区别在于,在GB-2312中预留了一些空位,便于补充和扩展,经过扩展的区位码字符数量及范围就超过了GB-2312。而且台湾、香港、及日韩也是用区位码的,但其区位号与大陆用的就完全不相同。
机内码是为了避免ASCII码和国标码同时使用时产生两义性问题,大部分汉字系统都采用将国标码每个字节高位置1作为汉字机内码。这样既解决了汉字机内码与西文机内码之间的二义性,又使汉字机内码与国标码具有极简单的对应关系。
参考资料来源:百度百科-机内码
参考资料来源:百度百科-国标码
参考资料来源:百度百科-区位码

3. 区位码国标码机内码的转换?

1、区位码
将汉字用区号01~94和位号01~94来表示汉字的编码,是一个4位十进制数,前两位表示区号,后两位表示位号,每一行称为一个“区”,编号为01-94,每一列称为一个“位”,编号为01-94,这种用来表示每个字符所处位置的图称为“区位图”。
用字符所在区位图中的位置来表示字符的代码称为“区位码”。比如“啊”的区位码为1601。 
2、国标码 
对这些编号进行编码的结果就得到“国家标准代码”,简称为“国标码”,也称“汉字交换码” 国标码由两个字节组成,其高字节和低字节的最高位都为0,与7位标准ASCII码类似。 
编码方法是现将十进制表示的区码和位码转换为十六进制表示的区码和位码,再讲这个代码的高字节(第一个字节)和低字节(第二个字节)分别加上20H(100000B),就得到国标码。每个字节加20H的原因是为了避开ASCII码表的32个控制字符。 
如“啊”的区位码为1601,计算“啊”的国标码,首先将“啊”的区码和位码分别加32,得区码16+32=48=30H,位码01+32=33=21H,所以“啊”的国标码为3021H。
3、机内码 
为了解决ASCII码和国标码在同事使用时产生二义性,讲国标码的高字节和低字节的最高位b7都变成1,或者说每个字节都加上0x80,这样得到的代码被称为机内码,常被简写成“内码”。
已知“啊”的国标码为3021H,得知二进制编码:(0011000)(00100001),将每个字节最高位分别置1,得(10110000)(10100001)为二进制机内码,转换成十六进制为B0A1H(机内码)。
机内码=国标码+8080H

扩展资料:
汉语拼音推广应用,并逐步过渡到汉字和汉语拼音文字并存并用,这是一种双轨制。汉字信息处理领域中,音码和形码的并存并用,同样是一种双轨制。因此,不少人认为,采用双轨制好,理由有以下5点:
对掌握普通话的人来说,使用音码比形码方便,速度比较快。形码虽然较慢,但能输入任何汉字(包括古字)。采用双轨,操作员认识的字可按音输入,不认识的字按形输入,会普通话的人可按音输入,方音重的人可按形输入。
对于用字量少的单位,按音输入无问题,但对用字量多的单位来说,按音输入就不如按形输入,因为一般人只能念出一部分汉字。
按形输入(尤其是整体输入)对于中文信息处理的某类工作,如统计汉字,非常适合;但是对于其他类工作,例如统计汉语的音(声韵调)则无能为力。按音输入则正相反。双轨正好是相辅相成。
有的形码可以照顾多种汉字(如日本的汉字、南朝鲜的汉字),而音码能分词连写,便于作进一步的信息处理。
适当的双轨方案,不会增加设备上的麻烦。如不考虑采用整字输入,一般均可使用现有的小键盘。
参考资料来源:百度百科——汉字编码

区位码国标码机内码的转换?

4. 计算机中区位码.内码.国际码怎么转换?

转换关系如下:
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开始计数的)。
参考资料来源:百度百科-区位码
参考资料来源:百度百科-内码
参考资料来源:百度百科-国际码

5. 国标码和机内码问题?

1、机外码就是你外界输入的字符,这个字符输入后会有一个相对应的区位码(就是一个94*94的棋盘格格,你输入的汉子会对应里面的一个格子,行+列就是我们这里的区+位),
2、区位码经过换算可以变成国标码(所以区位码→国标码这一步只是表示转换下而已),
3、国标码再经过换算可以变成机内码(一般是16进制数表示)。

国标码和机内码问题?

6. 计算机中国标码转换为内码

区位码、国标码与机内码的转换关系
(1)区位码先转换成十六进制数表示
(2)(区位码的十六进制表示)+2020H=国标码;
(3)国标码+8080H=机内码
举例:以汉字“大”为例,“大”字的区内码为2083
解:1、区号为20,位号为83
2、将区位号2083转换为十六进制表示为1453H
3、1453H+2020H=3473H,得到国标码3473H
4、3473H+8080H=B4F3H,得到机内码为B4F3H小结:字符编码的两种表示方式:ASCII(字符的表示);GB2312(国标码,汉字编码)

7. 区域码,国际码,机内码 这三个怎么转换啊?我搞不懂他们!

汉字系统中的过程包括区位码、国标码和机内码,其中的转换关系如下:   1.区位码(十进制)转换成区位码(十六进制)。  这里要把前两个位换成十六进制,然后后两位换成十六进制。  例如,某汉字的区位码是5448,这样把54转换为16进制数36;再把位码48转换为16进制数为30,得到十六进制数3630。   2.国际码=区位码(十六进制)+2020H  例如,3630H+2020H=5050H 得到国标码GB2312   3.汉字机内码=国际码+8080H  机内码就是5050H+8080H=D0D0H   ASCII码是八位的一个字节 最高位为0,这样可以区分和汉字编码的区别。 Unicode是欧洲提出来的编码。    如果大段的数据包中的字节是大于A0A0H的双字节信息,可以初步认定为汉字内容编码。    说明一下,汉字你在数据包中只能获得机内码。区位码是输入码,不在计算机当中的,呵呵

区域码,国际码,机内码 这三个怎么转换啊?我搞不懂他们!

8. 区域码,国际码,机内码 这三个怎么转换啊?我搞不懂他们!

汉字系统中的过程包括区位码、国标码和机内码,其中的转换关系如下:
1.区位码(十进制)转换成区位码(十六进制)。
这里要把前两个位换成十六进制,然后后两位换成十六进制。
例如,某汉字的区位码是5448,这样把54转换为16进制数36;再把位码48转换为16进制数为30,得到十六进制数3630。
2.国际码=区位码(十六进制)+2020H
例如,3630H+2020H=5050H
得到国标码GB2312
3.汉字机内码=国际码+8080H
机内码就是5050H+8080H=D0D0H
ASCII码是八位的一个字节
最高位为0,这样可以区分和汉字编码的区别。
Unicode是欧洲提出来的编码。
如果大段的数据包中的字节是大于A0A0H的双字节信息,可以初步认定为汉字内容编码。
说明一下,汉字你在数据包中只能获得机内码。区位码是输入码,不在计算机当中的,呵呵
最新文章
热门文章
推荐阅读