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

上传人:sccc 文档编号:5224406 上传时间:2023-06-15 格式:DOC 页数:16 大小:51.90KB
返回 下载 相关 举报
汉字编码的国家技术标准不合理.doc_第1页
第1页 / 共16页
汉字编码的国家技术标准不合理.doc_第2页
第2页 / 共16页
汉字编码的国家技术标准不合理.doc_第3页
第3页 / 共16页
汉字编码的国家技术标准不合理.doc_第4页
第4页 / 共16页
汉字编码的国家技术标准不合理.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《汉字编码的国家技术标准不合理.doc》由会员分享,可在线阅读,更多相关《汉字编码的国家技术标准不合理.doc(16页珍藏版)》请在三一办公上搜索。

1、汉字编码的国家技术标准不合理汉字编码的国家技术标准不合理-关于汉字之十三21世纪是信息时代,信息已成为社会发展的重要战略资源,社会的信息化已成为当今世界发展的潮流和核心。汉字信息交换码是中文信息处理的基石。现行的汉字信息交换码的国家技术标准是GB18030-2000,从理论上讲,它是不合理的,从应用上讲,它是不完备的,因此,它只能是临时性的国家标准,而不应该成为永久性的国家标准。笔者关于汉字编码的看法散落在以前的多篇博客文章中,网友们看起来颇不方便,经补充整理形成本文,对主要观点做一系统介绍。一上世纪七十年代,微型电子计算机开始普及,它的一大功能是可以进行文字处理。计算机内部实际运行的是由0和

2、1构成的字节流,一种文字只有设计了该种文字的代码(信息交换码)才能被计算机处理。美国人发明了电子计算机,并根据英文的特点设计了ANSI码(American Nationnal Standards Institute美国国家标准化学会),另一种说法是ASCII字符(American Standard Code for Information Interchange美国信息交换标准码)。该编码只使用1个字节,具体说它们仅占用了一个字节的前半区(0到127)。例如,字母a的码值是97,阿拉伯数字8的码值是56。世界上有上百种文字,各国人根据国情给自己的文字设计的信息交换码,都选择尽可能短的码(字节数

3、少)。这些文字编码单独使用时倒也问题不大,但在一个文件中同时出现多种文字就会乱套,可能有一码多字,也可能会有一字多码,因而造成乱码,编码的混乱使得信息无法正确表达。针对上述问题,国际标准化组织推出了Unicode码(Universal Multiple-Octet Coded Character Set,简记UCS),有人称之为统一码。该编码对原来各国的文字编码,一概视而不见。它准备囊括世界上的所有文字,并给每一个字(或字母)重新统一分配一个独有的码,做到了字与码的一一对应。如此一来,即使各种文字都出现在一个文件中,也会秩序井然。Unicode码规定用二字节表示一个字或字母,即UCS-2,理论

4、上二字节的编码空间是65536个。用二字节表示不了的字或字母用四字节表示,即UCS-4,理论上四字节的编码空间是4294967296个,足以包容世界上的全部文字。从促进世界各国间信息交流的角度看,Unicode码确有推出的必要,它建立了国际秩序,给各种文字间的交流提供了一个公共平台。Unicode码要顾及全世界的所有文字,还要考虑各种文字之间的平等,编码效率自然要降低,用户使用效率低的编码要蒙受经济损失。这就决定了,在某些特定场合Unicode码有独特优势,有其市场空间,但在很多时候,它又不受欢迎。ANSI码和Unicode码是目前在世界上占统治地位的两大编码系统。世界上不少国家的文字编码采取

5、的是与ANSI码兼容的方案,我国的汉字编码也是如此。既然与ANSI码兼容,就首先要保证英文字母的编码及功能不受任何影响,在此前提下再考虑汉字如何编码,因而,汉字编码也就处于了寄人篱下的状态。我国的汉字信息交换码的国家标准,先有GB2312-80,后发展为GB18030-2000,后者与前者兼容。GB18030包括汉字27000多,其中,2字节编码汉字(一个汉字的码长是2个字节)21000多,4字节编码汉字(一个汉字的码长是4个字节)6000多。因受制于人,这些汉字编码的分布是见缝插针式的,无规律可言,4字节编码尤其复杂。经过多年应用,暴露出GB18030有三个方面的的缺陷。缺陷之一,18030

6、码与信息论信源编码的基本原则相背离,汉字的编码效率难以充分发挥。18030码中汉字的编码效率与ANSI码中的英文的编码效率相比较,不算低,这是由汉字的先天条件决定的,请参见陶沙的博客中的文章汉字比英文效率更高-关于汉字之三。信息论中,信源编码的基本原则是,使用概率高的字符用短码,使用概率低的字符用长码,这样总的平均码长才能最短。该原则被理论和实践证明是正确的。我们的汉字文章中,偶尔会出现英文字母,也就是说,英文字母对于中国人而言是使用概率较低的字符。我们的文章中,使用概率高的字符是的、一、是、在、不、了、有、和、人、这等汉字和逗号,、句号。等标点符号。这些使用概率高的字符在GB18030中都是

7、2字节编码(长码),而使用概率较低的英文字母是1字节编码(短码),显然,与信源编码的基本原则是背道而驰的。可以说,从原理上讲,18030码就是不合理的。因而,GB18030只能是临时性的国家标准,而不应该成为永久性的国家标准。问题的起因,是中国汉字编码要强行与ANSI码兼容。这样做的理由,笔者推测,中国汉字总数有90000多,1个字节最多只能给256个字符编码,2个字节也只能给65536个字符编码,假设不与ANSI码兼容,即便只考虑给常用汉字(3000多个)编码,1个汉字也需要2个字节。换言之,当初没有找到比1个汉字用2个字节更高效率的编码方法,汉字编码与ANSI码兼容或者不兼容,效果差不多。

8、既然如此,还是兼容好,多赚得一些方便。限于我国当时的科技发展水平,这样做也是可以被理解的。换一个角度考虑,正是因为18030码的不合理,汉字编码才有进一步提高编码效率的可能。缺陷之二,18030码所包括的汉字数不够多,一些在日常生活中使用的汉字未被包括在内,计算机无法对其进行处理,屡屡出现令人尴尬的局面,影响了中文信息处理事业的发展。齐鲁晚报报道,山东荷泽高庄村有200多人的姓氏较特殊,是且字上加个彡字(音shn)。办第二代居民身份证时,因计算机打不出这个字,按政府部门要求该姓村民无奈只得改姓。有学者考证,该姓已有两千年以上的历史。改姓给村民们带来诸多的不便和烦恼,他们困惑:我们不希望老祖宗给

9、我们的姓氏在这一辈失传、电脑这玩意,你说到底是添方便还是添麻烦?村民们不懂计算机,他们被迫改姓的技术原因就是国家技术标准GB18030包括的汉字数不够多,没有包括他们的姓。多年来,由此而引发的削足适履的事件屡屡发生。公民的姓名随随便便就给改了,是对人的尊严的蔑视,也是对中国历史文化的一种破坏。不能掌控祖先留下来的汉字,用行政命令的办法来解决编码技术落后的问题,对中国人来说,不是件什么光彩的事,而可能成为外国人的笑柄。缺陷之三,18030码不能成为中文信息处理的公共平台。中文包括汉字和中国各少数民族的文字,中文信息处理是指对汉字和各少数民族文字的处理,GB18030只包括汉字,不包括各少数民族的

10、文字,因而它不能成为中文信息处理的公共平台,阻碍了中文信息处理事业的发展。二一种新的汉字信息交换码被研制出,其简称郭码。中国汉字总量有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个组元

11、可以表示的数是从0到4095,2个组元可以表示的数是从0到16777215。郭码使用两个组元对文字进行编码,采取区码、位码的形式,第一个组元表示区号,第二个组元表示位号。如果按最大可能考虑,可取4096个区,每个区取4096个位,那么最大编码空间是16777216个,太庞大了,即使全世界的主要文字都编码也远远用不了。郭码共取96个区,每个区内取4000个位,总的编码空间是384000个(964000)。区号按递减顺序,为4095,40944001,4000,位号按递增顺序,为0,1,23998,3999。一般情况,一个编码字符的区号和位号就组成了它的信息交换码。编码长度是2个组元,即3个字节。

12、郭码计划用25个区(4095至4071),10万个空间放全部的中国汉字;用10个区(4070至4061),4万个空间放我国少数民族文字;用12个区(4060至4049),4.8万个空间放外国文字;余下49个区(19.6万个空间)作为备用区。外国文字是指Unicode码(UCS-2)中所包括的、中国汉字以外的文字。郭码选定4095区为唯一的特区,将GB18030中一级汉字(常用汉字)的3755个汉字和英文字母、阿拉伯数字、逗号、句号、控制符等使用概率较高的字符都放在该区中。利用缺省表达方式,在生成文件时,4095区字符的编码省掉区号,只用位号。也就是说,实际上4095区的汉字和字符的码长是1个组

13、元,即1.5个字节。其它区的汉字和字符的码长是2个组元,即3个字节。所以说郭码是12、24模式。由于郭码的区号与位号处于不同的值段,所以4095区的字符与其它区的字符是容易区分的。面对郭码的组元流可做如下判断,若该组元的值小于4000,则其为位号,区号是4095;若该组元的值大于或等于4000,则其为区号,下一个组元必是位号,二者组成了非4095区的区位码。以上判断方式和18030码判断英文字母与汉字的方式类似,只不过后者面对的是字节流,分界线值是128。除了对单个汉字的编码以外,利用备用区的空间资源,郭码还可以做短语编码。这项功能是ANSI、Unicode、GB18030都没有的。三郭码与1

14、8030码相比较,在编码效率、包容汉字总数、可作为各民族文字的公共平台方面,性能都更优越。优势一,编码效率高。尽管郭码4095区的汉字只有3700多个,数量仅占中国汉字总量的约4%,但统计资料显示,4095区的汉字使用概率在99%以上,其它各区汉字使用概率总和也不超过1%。根据信源编码理论,汉字的平均编码长度约为120.99+240.01=12.12(位)18030码中,二字节汉字使用概率很高,四字节汉字的使用概率很低,影响基本可以忽略,故汉字的平均编码长度约为16位。比较上述数据,可以看出郭码比18030码汉字的码长要短,也就是编码效率要高,约提高了32。换言之,如果一篇文章由纯汉字组成(不

15、含阿拉伯数字和拉丁字母),对其编码,郭码所用的字节数约为18030码所用字节数的76,前者比后者节省了约24的字节。郭码的编码设计符合信源编码的基本原则,使用概率高的用短码(1.5个字节),使用概率低的用长码(3个字节)。所以说,从原理上讲,郭码就是合理的,这就是郭码比18030码汉字编码效率高的根本原因。郭码与18030码相比也有劣势的一面,阿拉伯数字、拉丁字母、控制符在18030码中的码长是8位,它们在郭码中的码长是12位。在现代汉文中,阿拉伯数字和拉丁字母是时常出现的,使得郭码对于18030码在编码效率上的优势受到削弱。仔细算账,文章中出现一个4095区的汉字或标点符号,郭码比18030

16、码节省4位。出现一个非4095区汉字会有几种可能:如果它是18030码中的二字节汉字,郭码比前者多支出8位;如果是18030码中的四字节汉字,郭码比前者节省8位;如果是18030码中没有的汉字,那就没法比了。出现一个阿拉伯数字、拉丁字母或控制符,郭码要比18030码多支出4位。总而言之,郭码与18030码谁更占优,要由文章的元素构成来决定,汉字所占比例越大郭码的优势越明显,反之则优势减弱。当汉字数与拉丁字母、阿拉伯数字数相当时,郭码与18030码势均力敌。特殊情况,在英语教科书或英汉词典中,拉丁字母的数量可能超过汉字数量而占大多数,那时,18030码的编码效率就会优于郭码。现代汉文中出现阿拉伯

17、数字、拉丁字母,使得郭码的平均码长发生了变化,若想比较准确计算它的平均长度需要统计出阿拉伯数字、拉丁字母在汉文中的使用概率,这是个很困难的事情。阿拉伯数字、拉丁字母在不同的历史时期、不同领域使用概率差别悬殊,在司马迁时代它们的使用概率是零,在中国历史、文学等学科使用概率较低,在数学、信息科学领域使用概率较高,如Sin、3G等。郭码考虑到它们的影响,粗略估算,总体上郭码比18030码的编码效率提高了约25(而不是前面的32)。如果对一篇文章编码,郭码所用的字节数约为18030码字节数的80,前者比后者节省了约20的字节。从许多实验结果看,估值与结果还是比较接近的。举一例,温家宝总理于2008年3

18、月5日在人大上作的政府工作报告,全文(纯文本文件)用18030码编码的字节数是49952个,用郭码编码的字节数是38364个,后者是前者的0.7680倍,比前者节省了11588个字节。政府工作报告全文中使用汉字20000多个,非4095区的汉字只有4个崛、渎、诿、崛。此外,如果再考虑到郭码特有的短语编码的功能,郭码的编码效率还可以在前面的基础上更上一层楼。在汉字键盘输入码中,对短语进行编码并不鲜见,在信息交换码中对短语进行编码则是郭码的创新。郭码的数据结构产生了数以十万计的富裕空间(备用区),充分利用这些资源,可以设置大批量的短语编码。短语编码就是对一段短语象对一个汉字一样地进行编码,不管短语

19、内包括几个汉字,一个短语编码的码长都是3个字节(类似于非4095区汉字)。中华人民共和国全国人民代表大会常务委员会的18030码的编码长度是40(202)个字节。郭码中,假设以4048区为短语编码区,设中华人民共和国的短语编码为4048,1,设全国人民代表大会的短语编码为4048,2,设常务委员会的短语编码为4048,3。那末中华人民共和国全国人民代表大会常务委员会编码的组元流就是4048,1,4048,2,4048,3,组元流的长度由单字编码的30(201.5)个字节降为短语编码的9个字节,编码效率有了进一步提高。详情请参考陶沙的博客文章一种能给中国人省钱的汉字编码、郭码的工作原理和中华各民

20、族文字的公共平台。编码效率提高,一个汉字文件在存储时可以节省空间,在传输时可以节省时间。这在民用和军用上都有重要意义。优势二,郭码可以包括全部的中国汉字。世界上有多个国家使用(或使用过)汉字,中国汉字是指中国人使用的汉字,日本、韩国、越南等国独有的、而中国人不使用的汉字,在此不予考虑。全部的中国汉字是指用于信息交换的全部中国汉字,而不包括书法意义上的汉字,书法是艺术,艺术是讲究创新的,而创新是没有止境的。现在无纸化办公(网络办公、电子政务)、无纸化出版(电子书、网上报纸)等发展迅速,它们比有纸化在办事效率、资源消耗、能源消耗、环境污染等方面具有明显优势,是社会发展的必然趋势。但是,在中国无纸化

21、若想畅通无阻地发展,一个必要条件是,凡是在纸上能够印出的中国汉字必须在计算机上也能够显示出来,现国家技术标准GB18030远远不能满足这个要求。郭沫若先生说过(大意),几千年来汉字不断地发展变化,一方面不断有新的汉字诞生,另一方面也不断有一些旧的汉字死亡(不再使用,换一种说法是休眠),总之,历史上曾经出现过的汉字总数大约有90000多个。汉字信息交换码是中文信息处理的基石,国家标准要为人民提供完整的服务,就要把历史上曾经出现过的汉字全部收入。只有这样,才能一步到位地解决问题,才能使中华五千年的汉字文明在信息时代得以无失真地传承,使削足适履的事件不再发生,让中国的老百姓能够有尊严地生活。GB18

22、030是由GB2312逐步添加汉字而形成的,就象一件打了许多次补丁的衣服。它包括27000多个汉字,因为与ANSI码兼容,只有21000多个是2字节汉字,其余的6000多个是4字节汉字。按此规律,若再增加70000个汉字,只能放在4字节中,那将是一件凌乱而困难的事情,结局就象在补丁上面继续打补丁。郭码不与ANSI码兼容,无需受制于人,如何设计编码全看中国人的需要。它的4095到4071区有100000个空间,除4095区外,可按统一规律安排全部中国汉字。现在,世界各国的交往日益频繁,各国的文化、语言文字都在进行竞争。中国汉字比英文编码效率高(参见汉字比英文效率更高一文),郭码的应用使这一优势进

23、一步加强,一个高效、完整的汉字编码系统会增大中国汉字在国际上的竞争力,有助于中华文化在世界上的传播。优势三,郭码可以成为中华各民族文字的公共平台。目前,我国已有若干少数民族文字信息交换码的国家标准,如蒙古文GB8045-87、维吾尔文GB12050-89、朝鲜文GB12052-89、彝文GB13134-91等。它们或单字节、或二字节编码,让它们与GB18030的汉字在一起编辑文件是不可能的,因为它们都使用最短码,与18030码中的英文字母编码重叠。让中华各民族的文字在统一码(Unicode码)的平台上交流是有可能的,但要有一个前提,就是每种民族文字必须有统一码的编码,而这就不是由中国人自己说了

24、算的。国际标准化组织对统一码拥有主权,一种文字要取得统一码的编码需要经过它的审批,就象武术能否成为奥运会项目需要得到国际奥委会的审批一样。毕竟,国际标准化组织不是只管中国文字编码问题,而是要统筹考虑全世界各国文字的编码问题。所以说,中国各民族的文字在统一码(Unicode码)的平台上交流是不现实的。我国有55个少数民族,文字使用情况比较复杂。大约一半的民族使用汉字或者没有本民族的文字。另一半民族使用拼音文字,又可分为三类。第一类,使用基本拉丁字母(英文字母)的拼音文字,这些字母在4095区中就已经存在。第二类,使用非拉丁字母的拼音文字,如藏文、维吾尔文、蒙古文、哈萨克文、满文、傣文、俄文等。第

25、三类,朝鲜文和彝文属于音节文字,它们的编码已有国家标准。GB12052-89中有朝鲜文字5300个,GB13134-91中有彝文字1165个。郭码为少数民族文字编码初步设计10个区(4070区到4061区),40000个空间估计够用了,若不够用,后面还有大量的备用区。在郭码中,汉字与各少数民族文字都有一一对应的编码,所以计算机可以对它们同时进行处理,这也就形成了一个多民族文字的公共平台。自然,它也就成为名副其实的中文信息处理平台。此外,郭码还有能力对Unicode(UCS-2)中的全部外国文字进行编码,预计放在4060区至4049区的12个区内。因此,郭码还有可能发展成为包括中国各民族文字和世

26、界上主要文字的国际文字信息处理平台。四郭码与ANSI码、Unicode码之间不兼容,是相互独立的编码系统。郭码的独立性增强了中国汉字文件的信息安全。郭码可以和ANSI码、Unicode码通过软件程序很方便地进行相互转换。这个转换程序很简单,只需做些公式计算或查表操作即可。18030码和大五码都与ANSI码兼容,郭码与它们之间是不兼容的,但郭码与18030码、大五码之间可以方便地进行转换。国家标准GB2312-80和GB18030-2000已经使用了几十年,积累下大量的文件资料,这个情况需要认真对待。现在,有的字处理软件,可以处理几十种不同编码格式的文件。编写一个既能处理郭码文件、又能处理180

27、30码文件的字处理软件并不太困难,有了它,历史上积累下的18030码文件就可以继续使用。若该字处理软件中包含有郭码与18030码之间的转换程序,那么18030码文件与郭码文件就可以做到无缝连接了。郭码与18030码不是你死我活的关系,而应是和平竞赛的关系。从优胜劣汰的法则看,郭码各项技术指标先进、经济效益明显、利国利民,必将占据汉字处理市场的主导地位。对郭码应用中可能遇到的问题也做过一些考虑,例如,郭码新增了70000多汉字,用户如何向计算机输入它们。尽管现有的汉字键盘输入法有上千种,但它们都只能输入18030码的20000多汉字。若想将某个键盘输入法改进到能够输入90000多汉字,将要付出极

28、大的代价。实际上没有必要,使用虚字盘输入法,用户既不需要学习,也可以输入90000多汉字中的任意一个,参见一种不用键盘的汉字输入法。汉字使用了几千年,研究汉字的人很多,由于经济、技术等方面的原因,对它缺乏全面的清理。前人编纂永乐大典、四库全书,需要皇帝下令、举全国之力、发动成百上千的文人手工抄写,耗时多年才能完成。现在,我们有了电子计算机、互联网、扫描仪、数码相机等现代化工具,对中国汉字做一个全面的搜集、统计、整理工作,比古人要方便、容易许多。这是件具有历史意义的工作。特别声明:1:资料来源于互联网,版权归属原作者2:资料内容属于网络意见,与本账号立场无关3:如有侵权,请告知,立即删除。105103105822

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号