千家信息网

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

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,一、区位码为了适应计算机处理汉字信息的需要,1981年我国颁布了GB2312国家标准。该标准选出6763个常用汉字(其中,一级常用汉字3755个,二级汉字3008个)和682个非汉字字符,并为每个字符
千家信息网最后更新 2025年12月01日汉字区位码、国标码(交换码)和机内码转换方法


一、区位码

为了适应计算机处理汉字信息的需要,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位)


汉字 机内码 区位 区位码 国标 区号 编码 字符 字节 十六进制 控制 标准 计算机 处理 输入 方法 不同 两个 二进制 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 国企网络安全处罚 重庆软件开发招聘2018 服务器怎么连接物理设备 吉林时代网络技术工程 魔兽世界怀旧服沉默的神庙数据库 火山软件开发手册 精益设计 软件开发 计算机网络技术证书挂靠 自己搭建私人dns服务器犯法吗 虚拟服务器怎么相互连接 计算机网络技术实验心得 链接java和数据库 创意天地软件开发 软件开发文档 csdn 河北信息化软件开发服务创意 软件咨询 软件开发区别 ajax服务器格式 网络安全完整性检测过程 地籍数据库与不动产数据库 福建省专升本计算机数据库 信息网络技术专业就业前景 嘉定区机电软件开发收购价格 进行软件开发需要的物质准备 php数据库管理系统开发 业余学软件开发可以吗 使用数据库应用系统教学设计 为什么我的节奏大师显示账号与服务器断开 单片机软件开发 流程 关于校园网络安全演讲稿 弘创中睿软件开发技术有限公司
0