国标码与机内码转换(计算机中文编码进阶史)

历史悠久的泱泱中华,文化博大精深,文字独一无二,且能没有一套属于自己的计算机编码。1980年,为了使每个汉字有一个全国统一的编码,我国颁布了汉字编码的国家标准:GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是国内所有汉字系统的统一标准。将一些常用符号及汉字,按区与位的方式编入码表,这套编码便是区位码。

一、区位码

区位码是一个四位的十进制数,高两位为区码(01-94),低两位为位码(01-94),由此组成一个94×94的矩阵,每个码值都对应着一个唯一的符号或汉字。如下图示:

国标码与机内码转换(计算机中文编码进阶史)

图1. 第01区 特殊符号

国标码与机内码转换(计算机中文编码进阶史)

图2. 汉字区位码对照表

说明:‘啊’的区位码为1601,区码为16,位码为01。

国标码与机内码转换(计算机中文编码进阶史)

图3. 多音字‘腌’

说明:这种编码经过加工整理一律以汉语拼音的字母为序, 音节相同的字以使用频率为序,其查找方法与一般汉语字典的汉字拼音音节索引查找法相同。由于它是一种无重码的汉字编码,所以多音字只有一个编码。例如:重庆的“重”和重量的“重”,字同音不同,汉字“重”的编码是按Zhong 音编码。

由图2,图3所示,按拼音音节索引时,编码并不连续,这是因为汉字被分级处理,一级汉字相对更为常用。如下图示:

国标码与机内码转换(计算机中文编码进阶史)

图4. 区段说明

说明:在某些硬件指标相对偏低的平台上可能依然还在使用着一级码汉字。

二、国标码

汉字区位码定义好后融入计算机,发现少了一些控制符,如回车,换行,退格等,同时ASCII编码中前32个控制码刚好包含了这些,那就借来用用吧!为此,国标码诞生了。为了兼容这些控制码,国标码规定在区码、位码的基础上分别加20H(即32的16进制数)。例如:汉字‘啊’的区位码为1601,则区码为16,位码为01,转换成16进制后,区码为10H,位码为01H,转国标码,则区码10H+20H=30H,位码01H+20H=21H,合成后国标码为3021H;

国标码与机内码转换(计算机中文编码进阶史)

图5. 国标码

说明:图5为Mac系统中的16点阵中文国标码点阵字库,‘啊’的国标码为3021H。

三、机内码

这里特指汉字机内码,简称“内码”,亦称“变形国标码”,指计算机内部存储,处理加工和传输汉字时所用的由0和1符号组成的代码。

国标码虽说很好地解决了控制字符问题,但随着社会的发展,汉字处理系统想要兼容英文(当时主流就是ASCII),当系统中同时存在ASCII和汉字国标码时,将会产生二义性。例如:有两个字节的内容为30H和21H,它既可表示汉字“啊”的国标码,又可表示ASCII中的“0”和“!”,为此,汉字机内码诞生了。由于ASCII编码范围为00H~7FH,字节最高位皆为‘0’,机内码应对国标码加以适当变换处理,将相应国标码每个字节的最高位置为“1”,即:汉字机内码=汉字国标码+8080H。例如:“啊”字的国标码是3021H,则其汉字机内码为B0A1H=3021H+8080H。

国标码与机内码转换(计算机中文编码进阶史)

图6. 机内码

说明:图6为按照Windows CP936(内码)编码生成的16Pixel中文点阵字库,只包含了一级码汉字(3755个字符),‘啊’的编码为:B0A1H。

上述所述,不论是区位码,国标码,还是机内码,主要都是针对GB2312-80标准(7K+字符),若按区位码94×94矩阵计算,最大也只能表达94×94=8836个字符,这时有人可能会问,若要支持更多的中文怎么办呢?

这自然难不倒勤劳又机智的“中国人”。看懂下面这张图,就都明白了。

国标码与机内码转换(计算机中文编码进阶史)

说明:这里主要记录汉字编码,并且第一字节最高位皆为‘1’,也能很好的做到向前兼容。

  1. GB2312-80,字符数 6763 =①
  2. GBK,字符数 21003 = ①+②+③
  3. GB18030-2000,字符数 27533 = ①+②+③+④
  4. GB18030-2005,字符数 70244 = ①+②+③+④+⑤

四、Unicode

Unicode 是为了解决传统字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求,中文只是其中的一部分。由于Unicode编码(针对中文)不连续,只能靠查表方式解决编码转换问题。

国标码与机内码转换(计算机中文编码进阶史)

图7. Unicode

说明:‘啊’的Unicode码值为 554AH。

五、总结

  • 图解

国标码与机内码转换(计算机中文编码进阶史)

  • 编码转换

区位码、国标码、机内码之间递进式转换,都在这张表里了。

国标码与机内码转换(计算机中文编码进阶史)

随着社会发展不断更新迭代,区位码、国标码在应用场景上已慢慢淡出了用户视野,现在最常用的则是内码,Unicode。

说了这么多,想想,若没有这些先辈们的坚持与努力,可能我们今天还在用ASCII计算机呢!

感恩所有为中文编码默默奉献的人!

参考文献:

  • 汉字区位码对照表.pdf
  • 百度百科
  • 知乎

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年1月3日 下午2:04
下一篇 2023年1月3日 下午2:06

相关推荐

  • 如何预防感染霍乱是怎么回事,关于怎么预防霍乱的新消息

    摘要:点蓝色字体关心,不迷路~7月10日0—24时,31个省(自治州、市辖区)和新疆生产建设兵团汇报新增加新冠肺炎当地确诊病例46例(广东省17例,安徽省9例,上海市6例,江苏省

    2022年9月11日
    450
  • 怎么教育孩子不要撞门(如何教育孩子不要撞门)

    怎么教育孩子不要撞门,如何教育孩子不要撞门。小编带你了解更多相关信息。1、要告诉孩子,什么东西是会给他带来伤害的。孩子要撞门时,你要告诉孩子,撞门头很痛的。如果不小心撞门角尖锐的东西头部会出血的哦。很危险的哦。2、孩子撞门家长首先要平和地面对孩子

    2022年10月8日
    590
  • 买洋房该怎么选楼层(买房有哪些流程)

    现在的洋房产品通常都有几层楼,高分子在买房的时候面对洋房的不同楼层,需要根据自身条件作出选择,那么买洋房该怎么选楼层呢?买洋房该怎么选楼层1、一般选择楼层时会去除一楼和顶楼,因为一楼会潮湿,下雨天更加

    2022年9月7日
    470
  • 如何让小孩快速睡觉(怎样才能让小孩晚上睡得香)

    睡眠的重要性不言而喻。相对于成人来说,儿童时期睡眠时间更长。2岁婴幼儿总的睡眠时间累计可达13个月,学龄前儿童每日睡眠与清醒时间各约一半,学龄儿童及青少年每天睡眠9至10小时,相当于每天40%的时间为睡眠时间。 对儿童而言,睡眠不仅可以帮助机体恢复精力和体力,促进神经系统发育,有助于稳定情绪,改善学习记忆和专注力,还能

    2022年4月27日
    960
  • 由于io设备错误无法读取硬盘(电脑打开U盘时提示io设备错误的解决办法)

    电脑打开U盘时,提示io设备错误怎么办?近日有用户在电脑插入U盘,一打开U盘就提示io设备错误,是不是U盘坏了呢?本文就给大家介绍一下电脑打开U盘提示io设备错误的解决办法。 解决方法: 1、右击桌面“计算机”图标,在菜单栏中选中“管理”一项。 2、在“计算机管理”页面,开启窗口点击“磁盘管理”并将其展开。 3、右击U盘的盘符,选择“更改驱动器名和路径”并点…

    2023年4月3日
    250
  • 2023腊月二十三到除夕这段时间叫什么(腊月二十三到除夕前要干什么)

    随着10月份的来临2022年还有2个月就要结束了,而每每到了这个时候人们最为期待的就是过年,而年前还有一个小年大家尤为关注,毕竟小年给灶王爷上供祈求合家平安的是很多地方的习俗。一起看看腊月二十三到除夕

    2022年9月30日
    600
  • 如何抠图去掉多余(手机上什么软件可以抠图)

    手机一键抠图怎么弄?修图的时候,想要给图片换背景,我们需要先给它的背景抠除。在抠图的时候,不管是人物还是物品,边缘部分都需要精细化的抠图,手动远没有自动抠图来得方便。现在我们想要抠图,在手机一键抠图怎么弄呢?下面分享两个实用的方法,一起来看看吧。 抠图方法一:改图鸭 首先我们看看第一种在电脑上自动抠图的方法,这是一款非常实用的图片编辑软件,里面有八个板块,将…

    2023年4月10日
    60
  • 维管束是什么意思(维管束在哪个部位)

    大田作物的千粒重、果树茄果的单个过重是作物高产的关键。 我们都知道磷钾肥可以提高千粒重以及单个果重,其实还有一种肥料,用得好也能够大幅度提升千粒重以及单个果重。这个肥料就是硼肥。 很多人的认知中,硼肥就是促进开花坐果的,其实硼肥除了可以促进开花坐果之外,还可以促进作物维管束更加发达。 维管束是作物运输水分、无机盐(我们常说的化肥)、碳水化合物的重要通道。作物…

    2022年12月22日
    560
  • 2022国庆节黄金会跌吗(2022国庆节黄金会不会便宜点)

    国庆节是每年比较盛大的一个节日,也是比较受欢迎的一个法定节假日,很多人都会在这个时候结婚办喜事,就会想要买黄金。黄金的价格每天都是不一样的,在国庆节的时候,黄金降价的可能性比较小,但是很多商家都会做活动。2022国庆节黄

    2022年9月9日
    5360
  • 新飞冰柜冷藏和冷冻怎么调(冰箱怎么设置最佳温度)

    很多朋友在使用冰箱时,发现冰箱的温度可以设置很多个档位,尤其是一些多功能冰箱,还可以针对冷冻仓、冷藏仓进行单独设置和调节,本篇文章教大家如何设置冰箱的最佳问题。 冰箱冷藏的最佳温度 答案是“-18℃”,所谓的“主流答案”也不一定是正确的,没有所谓的“区间”这一说,最佳的冷藏温度就是“-18℃”,不过在传统意义上,冷藏和冷冻有区别,很多朋友把“保鲜仓”的功能理…

    2023年2月16日
    710

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信