汉字区位码、国标码(交换码)和机内码转换方法

汉字区位码国标码(交换码)和机内码转换方法
一般换算全部用十六进制。机内码、国际码是十六进制的,区位码是十进制的。具体换算步骤:(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这些有关】:
dsp技术
区位码:
每个汉字都有唯一的定位码,定位码一个字节,定位码一个字节,总共占用两个字节。
国标码:
。共7445个字符,其中
  一级3755个,二级3008个,图形符号682个【一级汉字按拼音排序,二级用部首排序】,全部
国家标准代码被放置在94个区域中,每个区域中有94个矩阵。每个字节占用8位,主要使
用7位编码(高位为0)。
- 为啥要将区位码转为国标码?
  汉字编码之前,已经有了标准的ASCII,开发者
只沿用了ASCII中32个控制字符其他ASCII被
  覆盖。通过32D=20H的关系,不难发现,加上2020H是为了绕开ASCII的控制字符。
机内码:
- 计算机内存储和处理汉字信息的代码,使用两个字节表示,每个字节最高位为1
- 为啥要将国标码转为机内码?
  国标码中除了前面32个控制字符外,其他ASCII内容被覆盖,这使得使用者在使用采用ASCII码
编码的网页或文本内容不兼容,只能看到乱码。为了解决这个问题,我们应该在国标代码
的基础上补充
  充ASCII的32个控制字符
外的其他字符。已知道标准的ASCII码最高位为0,国标码的最高位也
  是0。那么只需要在国标码的基础上将最高位改为1即可。通过=80H的关系,不难发
  现,加上8080H是为了在国标码基础上解决ASCII字母等符号的兼容性问题
一、区位码
为了适应计算机处理汉字信息的需要,1981年我国颁布了GB2312国家标准。该标准选出6763个常用汉字(其中,一级常用汉字3755个,二级汉字3008个)和682个非汉字字符,并为每个字符规定了标准代码,以便在不同的计算机系统之间进行汉字文本交换。
GB2312字符集构成一个94行、94列的二维表,行号称为区号,列号称为位号,每一个汉字或符号在码表中的位置用它所在的区号和位号来表示。
为了处理与存储的方便,每个汉字的区号和位号在计算机内部分别用一个字节来表示。例如,"学"字的区号为49,位号为07,它的区位码即为4907,用2个字节的二进制数表示为:
二、国标交换码
区位码无法用于汉字通信,因为它可能与通信使用的控制码(00H~1FH)(即0~31)发生冲突。(因为ASCII码编码中分控制信号编码和有型字符编码,前32个是控制码,如回车、换行、退格等,为避开这些控制码,国标码规定在区位码的基础上加20H,即32的16进制数)ISO2022规定每个汉字的区号和位号必须分别加上32(即二进制数),经过这样的处理而得的代码称为国标交换码,简称交换码或国际码,因此,"学"字的国标交换码计算为:
+ +
--------------------------
用十六进制数表示即为5127H。
三、机内码
由于文本中通常混合使用汉字和西文字符,汉字信息如果不予以特别标识,就会与单字节的ASCII码混淆。此问题的解决方法之一是将一个汉字看成是两个扩展ASCII码,使表示GB2312汉字的两个字节的最高位都为1。这种高位为1的双字节汉字编码即为GB2312汉字的机内码,简称为内码。
因此,"学"字的机内码为:
用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作为汉字机内码。

本文发布于:2024-09-21 04:28:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/512443.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:区位码   国标码   机内码   字节   编码   表示   交换   基础
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议