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

如题所述

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点:

对掌握普通话的人来说,使用音码比形码方便,速度比较快。形码虽然较慢,但能输入任何汉字(包括古字)。采用双轨,操作员认识的字可按音输入,不认识的字按形输入,会普通话的人可按音输入,方音重的人可按形输入。

对于用字量少的单位,按音输入无问题,但对用字量多的单位来说,按音输入就不如按形输入,因为一般人只能念出一部分汉字。

按形输入(尤其是整体输入)对于中文信息处理的某类工作,如统计汉字,非常适合;但是对于其他类工作,例如统计汉语的音(声韵调)则无能为力。按音输入则正相反。双轨正好是相辅相成。

有的形码可以照顾多种汉字(如日本的汉字、南朝鲜的汉字),而音码能分词连写,便于作进一步的信息处理。

适当的双轨方案,不会增加设备上的麻烦。如不考虑采用整字输入,一般均可使用现有的小键盘。

参考资料来源:百度百科——汉字编码

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-18

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

扩展资料:


汉字进入计算机的三种途径 分别为:



①机器自动识别汉字:计算机通过“视觉”装置(光学字符阅读器或其他),用光电扫描等方法识别汉字。


②通过语音识别输入:计算机利用人们给它配备的“听觉器官”,自动辨别汉语语音要素,从不同的音节中找出不同的汉字,或从相同音节中判断出不同汉字。



③通过汉字编码输入:根据一定的编码方法,由人借助输入设备将汉字输入计算机。



机器自动识别汉字和汉语语音识别,国内外都在研究,虽然取得了不少进展,但由于难度大,预计还要经过相当一段时间才能得到解决。在现阶段,比较现实的就是通过汉字编码方法使汉字进入计算机。

参考资料来源:百度百科-汉字编码



本回答被网友采纳
第2个回答  推荐于2017-11-26
汉字系统中的过程包括区内码、国标码和机内码,其中的转换关系如下:

1.区位码(十进制)转换成区位码(十六进制)。
这里要把前两个位换成十六进制,然后后两位换成十六进制。
例如,某汉字的区位码是5448,这样把54转换为16进制数36;再把位码48转换为16进制数为30,得到十六进制数3630。

2.国际码=区位码(十六进制)+2020H
例如,3630H 2020H=5050H 得到国标码GB2312

3.汉字机内码=国际码+8080H
机内码就是5050H 8080H=D0D0H

ASCII码是八位的一个字节 最高位为0,这样可以区分和汉字编码的区别。 Unicode是欧洲提出来的编码。

如果大段的数据包中的字节是大于A0A0H的双字节信息,可以初步认定为汉字内容编码。

说明一下,汉字你在数据包中只能获得机内码。区位码是输入码,不在计算机当中的,呵呵本回答被网友采纳
第3个回答  2014-03-15
区位码、国标码与机内码的转换方法: (1)区位码先转换成十六进制数表示 (2)(区位码的十六进制表示)+2020H=国标码;(两位两位相加) (3)国标码+8080H=机内码 (两位两位相加) 举例:以汉字“大”为例,“大”字的区内码为2083 解:1、区号为20,位号为83 2、将区位号20 83转换为十六进制表示为14 53H 3、14 53H+20 20H=3473H,得到国标码34 73H 4、3473H+8080H=B4F3H,得到机内码为B4F3H 三、小结: 字符编码的两种表示方式:ASCII(字符的表示);GB2312(国标码,汉字编码)
第4个回答  2014-03-15
另外国标码转换机内码即为将国标码每字节的最高位置为1, 34H=00110100B,置1后为10110100B=B4H 48H=01001000B,置1后为11001000B=C8H 即转换后为 区位 2020H=国标国标 8080H=机内
相似回答