汉字区位码、国标码(交换码)和机内码转换方法
  rdqBrlWEPFgb 2023年11月02日 51 0

一般换算全部用十六进制。机内码、国际码是十六进制的,区位码是十进制的。具体换算步骤:(H表示十六进制,D表示十进制)

1、将四位数的区位码分为两部分,两位数一组。

2、将这两个两位数换算为十六进制,运用公式进行计算。

国际码=区位码(十六进制)+2020H

机内码=国际码+8080H 

例如:某汉字的区位码是2534。则25D=19H,34D=22H

则国际码=1922H+2020H=3952H,机内码=3952H+8080H=B9D2H

1、转换关系:【设转为十六进制的区位码

为区位码I;转换原因在第3点】

  • 区位码I=区位码的区码(前两位)和位码(后两位)分别转十六进制再按原顺序组合起来
  • 国标码
  • =区位码I+2020H 【2020H不拆分】
  • 机内码=国标码+8080H【8080H不拆分】
  • 机内码=区位码I+A0A0H【A0A0H不拆分】
注意:区位码是十进制表示,由区(行)和位(列)组成一个二维结构,所以转换过程需要将区位码拆
分后分别转十六进制。

2、例子:

  • 将“江”的区位码2913转为机内码【末尾D代表十进制,末尾H代表十六进制】:
1、2913D中区和位分别转十六进制:29D=1DH,13D=DH 
2、国标码=区位码+2020H=1D0DH+2020H=3D2DH
3、机内码=国标码+8080H=3D2DH+8080H=BDADH
or 机内码=区位码+A0A0H=1D0DH+A0A0H=BDADH

3、扩展【扩展内容主要与为什么要加2020H或8080H这些有关】:

区位码:

每个汉字都有唯一的区位码对应,且区码一个字节,位码一个字节,共占用两个字节。

国标码:

- 1981年发布的《信息交换用汉字编码字符集
(基本集)》,简称GB-2312
。共7445个字符,其中
  一级3755个,二级3008个,图形符号682个【一级汉字按拼音排序,二级用部首排序】,全部
  国标码放在94个区中,每区94个矩阵。每个字节占用8位,主要用七位码(高位为0),
- 为啥要将区位码转为国标码?
  汉字编码之前,已经有了标准的ASCII,开发者
只沿用了ASCII中32个控制字符其他ASCII被
  覆盖。通过32D=20H的关系,不难发现,加上2020H是为了绕开ASCII的控制字符。

机内码:

- 计算机内存储和处理汉字信息的代码,使用两个字节表示,每个字节最高位为1
- 为啥要将国标码转为机内码?
  国标码中除了前面32个控制字符外,其他ASCII内容被覆盖,这使得使用者在使用采用ASCII码
编码的网页或者文本内容时不能兼容,只能看到乱码。为了解决这个问题要在国标码的基础上补
  充ASCII的32个控制字符
外的其他字符。已知道标准的ASCII码最高位为0,国标码的最高位也
  是0。那么只需要在国标码的基础上将最高位改为1即可。通过10000000B=80H的关系,不难发
  现,加上8080H是为了在国标码基础上解决ASCII字母等符号的兼容性问题

一、区位码

为了适应计算机处理汉字信息的需要,1981年我国颁布了GB2312国家标准。该标准选出6763个常用汉字(其中,一级常用汉字3755个,二级汉字3008个)和682个非汉字字符,并为每个字符规定了标准代码,以便在不同的计算机系统之间进行汉字文本交换。

GB2312字符集构成一个94行、94列的二维表,行号称为区号,列号称为位号,每一个汉字或符号在码表中的位置用它所在的区号和位号来表示。

为了处理与存储的方便,每个汉字的区号和位号在计算机内部分别用一个字节来表示。例如,"学"字的区号为49,位号为07,它的区位码即为4907,用2个字节的二进制数表示为:

00110001 00000111

二、国标交换码

区位码无法用于汉字通信,因为它可能与通信使用的控制码(00H~1FH)(即0~31)发生冲突。(因为ASCII码编码中分控制信号编码和有型字符编码,前32个是控制码,如回车、换行、退格等,为避开这些控制码,国标码规定在区位码的基础上加20H,即32的16进制数)ISO2022规定每个汉字的区号和位号必须分别加上32(即二进制数00100000),经过这样的处理而得的代码称为国标交换码,简称交换码或国际码,因此,"学"字的国标交换码计算为:

00110001 00000111

+00100000 +00100000

--------------------------

01010001 00100111

用十六进制数表示即为5127H。

三、机内码

由于文本中通常混合使用汉字和西文字符,汉字信息如果不予以特别标识,就会与单字节的ASCII码混淆。此问题的解决方法之一是将一个汉字看成是两个扩展ASCII码,使表示GB2312汉字的两个字节的最高位都为1。这种高位为1的双字节汉字编码即为GB2312汉字的机内码,简称为内码。

因此,"学"字的机内码为:

11010001 10100111

用16进制表示即为D1A7H。

最后要指出的是,汉字的输入编码与汉字的机内码是不同范畴的概念。不管采用什么样的编码输入法(例如拼音、五笔字型等)来输入一个汉字,其机内码都是相同的。

四、总结

区位码、国标码与机内码的转换关系

方法:

(1)区位码先转换成十六进制数表示

(2)(区位码的十六进制表示)+2020H=国标码;

(3)国标码+8080H=机内码

举例:以汉字"大"为例,"大"字的区内码为2083

示例解析:

1、区号为20,位号为83

2、将区位号2083转换为十六进制表示为1453H

3、1453H+2020H=3473H,得到国标码3473H

4、3473H+8080H=B4F3H,得到机内码为B4F3H

5、1453H+A0A0H=B4F3H,得到机内码为B4F3H

6、机内码B4F3H-A0A0H=1453H的区位码

大字的区码是20H(32区,83位)

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

一般换算全部用十六进制。机内码、国际码是十六进制的,区位码是十进制的。具体换算步骤:(H表示十六进制,D表示十进制)1、将四位数的区位码分为两部分,2、将这两个两位数换算为十六进制,运用公式进行计算。国际码=区位码(十六进制)+2020H机内码=国际码+8080H例如:某汉字的区位码是2534。34D=22H则国际码=1922H+2020H=3952H,机内码=3952H+8080H=B9D2H扩展资料区位码、国标码与机内码都是汉字的编码形式,国标码是基础,指国家标准汉字编码。即《信息交换用汉字编码字符集(基本集)》,该字符集有汉字6763个。每个汉字有一个固定的区位。区位码与国标码的区别在于,经过扩展的区位码字符数量及范围就超过了GB-2312。但其区位号与大陆用的就完全不相同。机内码是为了避免ASCII码和国标码同时使用时产生两义性问题,大部分汉字系统都采用将国标码每个字节高位置1作为汉字机内码。

2.区位码转换国标码

区位码+2020H=国标码 (运用此公式时要先把区位码按要求转成16进制)1)首先把2020分成 20 和 20 两部分转换成16进制 转化后是1414H2) 国标码=1414H+2020H=3434H

3.区位码怎么转换成国标码

(1)区位码先转换成十六进制数表示 (2)(区位码的十六进制表示)+2020H=国标码;(3)国标码+8080H=机内码 举例:以汉字“字的区内码为2083 解”

4.区位码和国标码的关系

区位码与国标码转换步骤如下:1、区码与位码分别转换成十六进制数表示;2、区位码的十六进制表示+2020H=国标码。具字的区位码为:63转换成16进制表示为:区位码十六进制数表示为:1E3FH2、1E3FH+2020H=3E5FH所以具字的国标码为:若是知道汉字不清楚汉字区位码,或者知道区位码不清楚区位码表示的汉字我们可以通过百度查询1、打开百度,汉字区位码查询;

5.一个汉字区位码怎么转换为国标码?

区位码与国标码转换步骤如下:1、区码与位码分别转换成十六进制数表示;2、区位码的十六进制表示+2020H=国标码。以具字为例,具字的区位码为:30631、将30转换成16进制表示为:1E,63转换成16进制表示为:3F,区位码十六进制数表示为:1E3FH2、1E3FH+2020H=3E5FH所以具字的国标码为:3E5FH扩展资料:若是知道汉字不清楚汉字区位码,或者知道区位码不清楚区位码表示的汉字我们可以通过百度查询1、打开百度,在百度上搜索:汉字区位码查询;2、点开网站,例如第一页第一项;3、输入需要查找的汉字或者区位码:如具字4、点击转换就可以得到查询的汉字或区位码若是知道区位码不清楚区位码怎么转换成十六进制数,也可以通过百度查询,以具字为例:打开百度,在百度上搜索:30转换成16进制,就可以看到答案参考资料来源:百度百科—信息交换用汉字编码字符集

6.汉字的区位码和国标码之间是怎么换算的

(区位码的十六进制表示)+2020H=国标码。区位码、国标码与机内码的转换关系方法:(1)区位码先转换成十六进制数表示(2)(区位码的十六进制表示)+2020H=国标码;(3)国标码+8080H=机内码举例:字的区内码为2083解”位号为832、将区位号2083转换为十六进制表示为1453H3、1453H+2020H=3473H,得到国标码3473H4、3473H+8080H=B4F3H,得到机内码为B4F3H扩展资料1980年,为了使每个汉字有一个全国统一的代码。

7.区位码怎么转换成国际码

机内码与区位码机内码高位字节=(区号)H+A0H机内码低位字节=(位号)H+A0H国标码与区位码国标码高位字节=(区号)H+20H国标码低位字节=(位号)H+20H区位码用两个10进制数表示,另外两种码用两个十六进制数表示."下面举例来看如何转成另外两种码:

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

1、区位码将汉字用区号01~94和位号01~94来表示汉字的编码,是一个4位十进制数,前两位表示区号,这种用来表示每个字符所处位置的图称为,用字符所在区位图中的位置来表示字符的代码称为“区位码”2、国标码对这些编号进行编码的结果就得到。国家标准代码“汉字交换码”国标码由两个字节组成,其高字节和低字节的最高位都为0“与7位标准ASCII码类似”编码方法是现将十进制表示的区码和位码转换为十六进制表示的区码和位码,再讲这个代码的高字节(第一个字节)和低字节(第二个字节)分别加上20H(100000B)“就得到国标码”每个字节加20H的原因是为了避开ASCII码表的32个控制字符,的区位码为1601,的区码和位码分别加32,得区码16+32=48=30H“位码01+32=33=21H”3、机内码为了解决ASCII码和国标码在同事使用时产生二义性,讲国标码的高字节和低字节的最高位b7都变成1,或者说每个字节都加上0x80,这样得到的代码被称为机内码“内码。的国标码为3021H,得知二进制编码,将每个字节最高位分别置1”得(10110000)(10100001)为二进制机内码。转换成十六进制为B0A1H(机内码)“机内码=国标码+8080H扩展资料”并逐步过渡到汉字和汉语拼音文字并存并用:音码和形码的并存并用,使用音码比形码方便,形码虽然较慢,但能输入任何汉字(包括古字)。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  IwptXLBU3qhS   2023年11月02日   48   0   0 百度CentOSipad
rdqBrlWEPFgb