汉字汉字编码的国家技术标准不合理

打不出汉字怎么办  时间:2021-01-30  阅读:()

汉字编码的国家技术标准不合理汉字编码的国家技术标准不合理

-关于汉字之十三

21世纪是信息时代信息已成为社会发展的重要战略资源社

会的信息化已成为当今世界发展的潮流和核心。汉字信息交换码是中文信息处理的基石。

现行的汉字信息交换码的国家技术标准是GB 18030-2000,从理

论上讲它是不合理的从应用上讲它是不完备的 因此它只能是临时性的国家标准而不应该成为永久性的国家标准。

笔者关于汉字编码的看法散落在以前的多篇博客文章中 网友们

看起来颇不方便经补充整理形成本文对主要观点做一系统介绍。

上世纪七十年代微型电子计算机开始普及它的一大功能是可

以进行文字处理。计算机内部实际运行的是由"0"和"1"构成的字

节流一种文字只有设计了该种文字的代码(信息交换码)才能被计算机处理。

美国人发明了电子计算机并根据英文的特点设计了ANS I码

(American Nationnal Standards Institute美国国家标准化学会) 另一种说法是ASCII字符(American Standard Code for InformationInterchange美国信息交换标准码) 。该编码只使用1个字节具体说它们仅占用了一个字节的"前半区"(0到127) 。例如字母"a"的

码值是"97"阿拉伯数字"8"的码值是"56"。

世界上有上百种文字各国人根据国情给自己的文字设计的

信息交换码都选择尽可能短的码(字节数少) 。这些文字编码

单独使用时倒也问题不大但在一个文件中同时出现多种文字就

会"乱套"可能有一"码"多"字"也可能会有一"字"多"码"

因而造成"乱码"编码的混乱使得信息无法正确表达。

针对上述问题 国际标准化组织推出了Unicode码(Universal Multiple-Octet Coded Character Set简记UCS) 有人称之为"统

一码"。该编码对原来各国的文字编码一概"视而不见"。它准

备囊括世界上的所有文字并给每一个"字"(或字母)重新统

一分配一个独有的"码"做到了"字"与"码"的一一对应。

如此一来 即使各种文字都出现在一个文件中也会秩序井然。

Unicode码规定用二字节表示一个字或字母 即UCS-2

理论上二字节的编码空间是65536个。用二字节表示不了的字或

字母用四字节表示 即UCS-4理论上四字节的编码空间是

4294967296个足以包容世界上的全部文字。

从促进世界各国间信息交流的角度看 Unicode码确有推出

的必要它建立了"国际秩序"给各种文字间的交流提供了一

个公共平台。

Unicode码要顾及全世界的所有文字还要考虑各种文字之

间的"平等"编码效率自然要降低用户使用效率低的编码要

蒙受经济损失。这就决定了在某些特定场合Unicode码有独特

优势有其市场空间但在很多时候它又"不受欢迎"。

ANSI码和Unicode码是目前在世界上占统治地位的两大编码

系统。

世界上不少国家的文字编码采取的是与ANS I码兼容的方

案我国的汉字编码也是如此。既然与ANS I码兼容就首先要

保证英文字母的编码及功能不受任何影响在此前提下再考虑汉

字如何编码 因而汉字编码也就处于了"寄人篱下"的状态。

我国的汉字信息交换码的国家标准先有GB2312-80后

发展为GB 18030-2000后者与前者兼容。 GB 18030包括汉字

27000多其中 2字节编码汉字(一个汉字的码长是2个字节)21000多 4字节编码汉字(一个汉字的码长是4个字节)6000多。因"受制于人"这些汉字编码的分布是"见缝插针"式的无规律可言 4字节编码尤其复杂。

经过多年应用暴露出GB 18030有三个方面的的缺陷。

缺陷之一 18030码与信息论信源编码的基本原则相背离汉字的编码效率难以"充分发挥"。

18030码中汉字的编码效率与ANS I码中的英文的编码效率相比较不算低这是由汉字的先天条件决定的请参见"陶沙的博客"中的文章"汉字比英文效率更高-关于汉字之三"。

信息论中信源编码的基本原则是使用概率高的字符用短码使用概率低的字符用长码这样总的平均码长才能最短。该原则被理论和实践证明是正确的。

我们的汉字文章中偶尔会出现英文字母也就是说英文字母对于中国人而言是使用概率较低的字符。我们的文章中使用概率高的字符是"的、一、是、在、不、 了、有、和、人、这"等汉字和逗号" "、句号"。 "等标点符号。这些使用概率高的字符在GB 18030中都是2字节编码(长码) 而使用概率较低的英文字母是1字节编码(短码) 显然与信源编码的基本原则是"背道而驰"的。可以说从原理上讲 18030码就是不合理的。因而 GB 18030只能是"临时性"的国家标准而不应该成为"永久性"的国家标准。

问题的起因是中国汉字编码要"强行"与ANS I码兼容。这样做的理由笔者推测 中国汉字总数有90000多 1个字节最多只能给256个字符编码 2个字节也只能给65536个字符编码假设不与ANS I码兼容 即便只考虑给"常用汉字"(3000多个)编码 1个汉

字也需要2个字节。换言之 当初没有找到比"1个汉字用2个字节"更高效率的编码方法汉字编码与ANS I码兼容或者不兼容效果差不多。既然如此还是兼容好多赚得一些"方便"。限于我国当时的科技发展水平这样做也是可以被理解的。

换一个角度考虑正是因为18030码的不合理汉字编码才有进一步提高编码效率的可能。

缺陷之二 18030码所包括的汉字数不够多一些在日常生活中使用的汉字未被包括在内计算机无法对其进行处理屡屡出现令人尴尬的局面影响了中文信息处理事业的发展。

《齐鲁晚报》报道 山东荷泽高庄村有200多人的姓氏较特殊是"且"字上加个"彡"字(音shǎn) 。办第二代居民身份证时 因计算机打不出这个字按政府部门要求该姓村民无奈只得改姓。有学者考证该姓已有两千年以上的历史。改姓给村民们带来诸多的不便和烦恼他们困惑 "我们不希望老祖宗给我们的姓氏在这一辈失传"、"电脑这玩意你说到底是添方便还是添麻烦?"

村民们不懂计算机他们被迫改姓的技术原因就是国家技术标准GB 18030包括的汉字数不够多没有包括他们的姓。多年来 由此而引发的"削足适履"的事件屡屡发生。公民的姓名随随便便就给改了是对人的尊严的蔑视也是对中国历史文化的一种破坏。不能掌控祖先留下来的汉字用行政命令的办法来"解决"编码技术落后的问题对中国人来说不是件什么光彩的事而可能成为外国人的笑柄。缺陷之三 18030码不能成为中文信息处理的公共平台。

"中文"包括汉字和中国各少数民族的文字 "中文信息处理"

是指对汉字和各少数民族文字的处理 GB18030只包括汉字不包括各少数民族的文字 因而它不能成为中文信息处理的公共平台阻碍了中文信息处理事业的发展。

一种新的汉字信息交换码被研制出其简称"郭码"。 中国汉字总量有90000多个常用汉字有3000多个郭码就是针对这些特点"量身定制"地设计出来的。

ANSI码和Unicode码的"计量单位"是字节 ANSI码只用

1个字节 Unicode码用2个或4个字节。 由于1个字节是二进制的8位故称ANSI码是"8模式"、 Unicode码是"16、 32模式"依此类推 18030码是"8、 16、 32模式"。

在以字节为"计量单位"的限制下想提高数以万计的汉字

的编码效率很难很难。

郭码的"计量单位"是"组元" 1个组元的"长度"是1.5

个字节 即二进制的12位。 1个组元可以表示的数是从0到40952个组元可以表示的数是从0到。

郭码使用两个组元对文字进行编码采取区码、位码的形式第一个组元表示区号第二个组元表示位号。如果按最大可能考虑可取4096个区每个区取4096个位那么最大编码空间是

个太庞大了 即使全世界的主要文字都编码也远远用不了。郭码共取96个"区"每个区内取4000个"位"总的编码空间是384000个(96×4000) 。

"区号"按递减顺序为"4095 4094…4001 4000" "位号"

按递增顺序为"0 1 2…3998 3999"。一般情况一个编码字符的区号和位号就组成了它的信息交换码。编码长度是2个组元 即3个字节。

郭码计划用25个区(4095至4071)  10万个空间放全部的中国汉字用10个区(4070至4061)  4万个空间放我国少数民族文字用12个区(4060至4049)  4.8万个空间放外国文字余下49个区

(19.6万个空间)作为"备用区"。外国文字是指Unicode码(UCS-

2)中所包括的、 中国汉字以外的文字。

郭码选定4095区为唯一的"特区"将GB 18030中"一级汉字"

(常用汉字)的3755个汉字和英文字母、阿拉伯数字、逗号、句号、控制符等使用概率较高的字符都放在该区中。利用"缺省表达方式"在生成文件时 4095区字符的编码省掉区号只用位号。也就是说实际上4095区的汉字和字符的码长是1个组元 即1.5个字节。其它区的汉字和字符的码长是2个组元 即3个字节。所以说郭码是"12、24模式"。

由于郭码的"区号"与"位号"处于不同的值段所以4095区

的字符与其它区的字符是容易区分的。面对郭码的"组元流"可做如下判断若该组元的值小于4000则其为"位号" "区号"是4095若该组元的值大于或等于4000则其为"区号"下一个组元必是"位号"二者组成了非4095区的"区位码"。

以上判断方式和18030码判断英文字母与汉字的方式类似只不过后者面对的是"字节流" "分界线值"是128。

除了对单个汉字的编码以外利用备用区的空间资源郭码还可以做"短语编码"。这项功能是ANSI、 Unicode、 GB18030都没有的。

郭码与18030码相比较在编码效率、包容汉字总数、可作为各民族文字的公共平台方面性能都更优越。

优势一编码效率高。

尽管郭码4095区的汉字只有3700多个数量仅占中国汉字总量的约4%但统计资料显示 4095区的汉字使用概率在99%以上其它各区汉字使用概率总和也不超过1%。根据信源编码理论汉字的平均编码长度约为

12×0.99+24×0.01=12. 12(位)

18030码中二字节汉字使用概率很高 四字节汉字的使用概率很低影响基本可以忽略故汉字的平均编码长度约为16位。比较上述数据可以看出郭码比18030码汉字的码长要短也就是编码效率要高约提高了32。换言之如果一篇文章由纯汉字组成(不含阿拉伯数字和拉丁字母) 对其编码郭码所用的字节数约为18030码所用字节数的76前者比后者节省了约24的字节。郭码的编码设计符合信源编码的基本原则使用概率高的用短码

(1.5个字节) 使用概率低的用长码(3个字节) 。所以说从原理上讲郭码就是合理的这就是郭码比18030码汉字编码效率高的根本原因。

郭码与18030码相比也有劣势的一面阿拉伯数字、拉丁字母、控制符在18030码中的码长是8位它们在郭码中的码长是12位。在现代汉文中阿拉伯数字和拉丁字母是时常出现的使得郭码对于18030码在编码效率上的优势受到削弱。

仔细算账文章中出现一个4095区的汉字或标点符号郭码比18030码节省4位。 出现一个非4095区汉字会有几种可能如果它是18030码中的二字节汉字郭码比前者多支出8位如果是18030码中的四字节汉字郭码比前者节省8位如果是18030码中没有的汉字那就没法比了。

出现一个阿拉伯数字、拉丁字母或控制符郭码要比18030码多支出4位。

总而言之郭码与18030码谁更占优要由文章的"元素构成"来决定汉字所占比例越大郭码的优势越明显反之则优势减弱。当汉字数与拉丁字母、阿拉伯数字数相当时郭码与18030码"势均力敌"。特殊情况在英语教科书或英汉词典中拉丁字母的数量

可能超过汉字数量而占大多数那时 18030码的编码效率就会优于郭码。

现代汉文中出现阿拉伯数字、拉丁字母使得郭码的平均码长发生了变化若想比较准确计算它的平均长度需要统计出阿拉伯数字、拉丁字母在汉文中的使用概率这是个很困难的事情。阿拉伯数字、拉丁字母在不同的历史时期、不同领域使用概率差别悬殊在司马迁时代它们的使用概率是零在中国历史、文学等学科使用概率较低在数学、信息科学领域使用概率较高如Sin、 3G等。

郭码考虑到它们的影响粗略估算总体上郭码比18030码的编码效率提高了约25(而不是前面的32) 。如果对一篇文章编码郭码所用的字节数约为18030码字节数的80前者比后者节省了约

20的字节。

从许多实验结果看 "估值"与"结果"还是比较接近的。

举一例温家宝总理于2008年3月5日在人大上作的《政

府工作报告》 全文(纯文本文件)用18030码编码的字节数是49952个用郭码编码的字节数是38364个后者是前者的0.7680倍 比前者节省了11588个字节。 《政府工作报告》全文中使用汉字20000多个非4095区的汉字只有4个"崛、渎、诿、崛"。此外如果再考虑到郭码特有的"短语编码"的功能郭码的编码效率还可以在前面的基础上"更上一层楼"。

在"汉字键盘输入码"中对"短语"进行编码并不鲜见在"信息交换码"中对"短语"进行编码则是郭码的创新。郭码的"数据结构"产生了数以十万计的富裕空间(备用区) 充分利用这些资源可以设置大批量的"短语编码"。

"短语编码"就是对一段"短语"象对一个汉字一样地进行编码不管短语内包括几个汉字一个短语编码的码长都是3个字节(类似

于非4095区汉字) 。

"中华人民共和国全国人民代表大会常务委员会"的18030码的编码长度是40(20×2)个字节。郭码中假设以4048区为短语编码区设"中华人民共和国"的短语编码为"4048 1"设"全国人民代表大会"的短语编码为"4048 2"设"常务委员会"的短语编码为"4048 3"。那末"中华人民共和国全国人民代表大会常务委员会"编码的"组元流"就是"4048 1 4048 2 4048 3"组元流的长度由"单字编码"的30(20×1.5)个字节降为"短语编码"的9个字节编码效率有了进一步提高。

详情请参考"陶沙的博客"文章"一种能给中国人省钱的汉字

编码"、 "郭码的工作原理"和"中华各民族文字的公共平台"。

编码效率提高一个汉字文件在存储时可以节省空间在传

输时可以节省时间。这在民用和军用上都有重要意义。

优势二郭码可以包括全部的中国汉字。

世界上有多个国家使用(或使用过)汉字 "中国汉字"是指中

国人使用的汉字 日本、韩国、越南等国独有的、而中国人不使用的汉字在此不予考虑。

"全部的中国汉字"是指用于"信息交换"的全部中国汉字

而不包括"书法"意义上的汉字书法是艺术艺术是讲究创新的而创新是没有止境的。

现在无纸化办公(网络办公、 电子政务) 、无纸化出版(电子书、网上报纸)等发展迅速它们比"有纸化"在办事效率、资源消耗、能源消耗、环境污染等方面具有明显优势是社会发展的必然趋势。但是在中国无纸化若想畅通无阻地发展一个必要条件是凡是在纸上能够印出的中国汉字必须在计算机上也能够显示出来现国家技术标准GB 18030远远不能满足这个要求。

licloud:$39/月,香港物理服务器,30M带宽,e3-1230v3/16G内存/1T硬盘

licloud官方消息:当前对香港机房的接近100台物理机(香港服务器)进行打折处理,30Mbps带宽,低至不到40美元/月,速度快,性价比高,跑绝大多数项目都是绰绰有余了。该款香港服务器自带启动、关闭、一键重装功能,正常工作日内30~60分钟交货(不包括非工作日)。 官方网站:https://licloud.io 特价香港物理服务器 CPU:e3-1230v2(4核心、8线程、3.3GH...

Spinservers:美国独立服务器(圣何塞),$111/月

spinservers是Majestic Hosting Solutions,LLC旗下站点,主营美国独立服务器租用和Hybrid Dedicated等,spinservers这次提供的大硬盘、大内存服务器很多人很喜欢。TheServerStore自1994年以来,它是一家成熟的企业 IT 设备供应商,专门从事二手服务器和工作站业务,在德克萨斯州拥有40,000 平方英尺的仓库,库存中始终有数千台...

FBICDN,0.1元解决伪墙/假墙攻击,超500 Gbps DDos 防御,每天免费流量高达100G,免费高防网站加速服务

最近很多网站都遭受到了伪墙/假墙攻击,导致网站流量大跌,间歇性打不开网站。这是一种新型的攻击方式,攻击者利用GWF规则漏洞,使用国内服务器绑定host的方式来触发GWF的自动过滤机制,造成GWF暂时性屏蔽你的网站和服务器IP(大概15分钟左右),使你的网站在国内无法打开,如果攻击请求不断,那么你的网站就会是一个一直无法正常访问的状态。常规解决办法:1,快速备案后使用国内服务器,2,使用国内免备案服...

打不出汉字怎么办为你推荐
海贼王644集海贼王巴托洛米奥是路飞的忠实粉丝,638集他和贝拉米打的时候路飞给贝拉米加油他知道嘛?最后他说烧烧绿色桌面背景图片求高清绿色风景桌面壁纸手机杀毒软件哪个好手机用杀毒软件,用哪样的好英语词典哪个好哪个英语词典好苹果手机助手哪个好最新版iphone助手 PP助手好用吗?核芯显卡与独立显卡哪个好核芯显卡和独立显卡哪个好?请直接点谢谢啦!网络机顶盒哪个好什么牌子的网络机顶盒最好视频软件哪个好安卓系统在线看视频软件哪个好飞信空间登录移动飞信客户端怎么登陆???google广告申请怎样才能申请google广告
北京服务器租用 阿里云搜索 荷兰服务器 site5 外国服务器 牛人与腾讯客服对话 国外在线代理 河南移动m值兑换 ftp免费空间 域名与空间 网购分享 沈阳主机托管 中国电信网络测速 网页加速 群英网络 服务器硬件配置 cdn服务 asp空间 免备案jsp空间 美国主机 更多