1、GB2312、GB 13000、GBK、GB18030介绍
GB 2312:又称为 GB 2312-80,是一个简体中文字符集的中国国家标准,于1980年由中国国家标准总局发布,1981年5月1日实施,全称为《信息交换用汉字编码字符集基本集》,规定了6763个汉字和682个非汉字图形。
GB 13000:为了便于多个文种的同时处理,国际标准化组织下属编码字符集工作组研制了新的编码字符集标准,ISO/IEC 10646。该标准第一次颁布是在1993年,当时只颁布了其第一部分,即ISO/IEC 10646.1: 1993,我国相应的国家标准是GB 13000.1-93《信息技术 通用多八位编码字符集(UCS)第一部分:体系结构与基本多文种平面》。
制定这个标准的目的是对世界上的所有文字统一编码,以实现世界上所有文字在计算机上的统一处理。
GBK:随着信息技术在各行业应用的深入,GB 2312收录汉字数量不足的缺点已经初步显露出来。例如:"镕"字现在是高频率使用字,而GB 2312 却没有为它编码,因而,政府、新闻、出版、印刷等行业和部门在使用中感到十分不便。1995年,全世界大多数的PC操作系统都实现了16/32位。GB 13000.1的实现出现了一线曙光。一方面为了对 GB 2312进行扩充,一方面顺应当时技术的发展向 GB 13000.1推进,同时兼顾当时最广泛采用 GB 2312内码系统。原电子部和原国家技术监督局联合颁布了指导性技术文件《汉字内码扩展规范》1.0版,即GBK 。
在GBK的内码系统中,GB 2312汉字所在码位保持不便,这样,保证了 GBK对 GB 2312的完全兼容。同时,GBK内码与 GB 13000.1代码一一对应,为 GBK向 GB 13000.1的转换提供了解决办法。
微软对 GB 2312的扩展,也就是 CP936字码表 (Code Page 936)的扩展(原来的CP936 和GB 2312-80 一模一样),最初出现于Windows 95 简体中文版中。
注意 GBK并非国家正式标准,只是国家技术监督局标准化司、电子工业部科技与质量监督司发布的“技术规范指导性文件”。虽然GBK 收录了所有Unicode 1.1 及GB 13000.1-93 之中的汉字,但是编码方式与Unicode 1.1 及GB 13000.1-93 不同。仅仅是GB 2312 到GB 13000.1-93 之间的过渡方案。
GB 18030-2000:1995年之后的实践表明,GBK作为行业规范,缺乏足够的强制力,不利于其本身的推广,而我们寄予厚望的 GB 13000的实现又脚步缓慢,现有汉字编码字符集标准已经不能满足我国信息化建设的需要。
为此,原国家质量技术监督局和信息产业部组织专家制定发布了新的编码字符集标准,GB 18030-2000《信息技术 信息交换用汉字编码字符集 基本集的扩充》。
GB 18030-2000 收录了ISO/IEC 10646.1: 2000的全部27484个CJK 统一汉字,13个表意文字描述符、部分汉字部首和部件、欧元符号。在编码体系上,GB 18030统一了内码和交换码的概念。它完全兼容 GB 2312和 GBK 的编码体系,继承 GBK 的代码映射表的优点,解决了 GB 18030和 GB 13000之间的代码转换。
GB 18030-2005:全称:国家标准 GB 18030-2005《信息技术中文编码字符集》,是中华人民共和国目前最新的内码字符集,是GB 18030-2000《信息技术 信息交换用汉字编码字符集基本集的扩充》的修订版。与GB 2312-1980 完全兼容,与GBK 基本兼容,支持GB 13000及 Unicode的全部统一汉字,共收录汉字70244个。
2、GB 18030的优点
1)编码汉字数量大
与西方文字不同,汉字是表意文字,成千上万的不同含义需要成千上万的不同汉字来表示。西方文字主要是拼音文字,通过几十个字母的组合就可以变出成千上万的单词。在计算机里面,西方文字只需要给几十个字母编码就够了,而每一个汉字都要一个编码才行。根据专家的统计,一般中文应用系统需要13,000个左右的汉字,大型中文应用系统需要23,000个左右的汉字,政府机关的专用中文应用系统需要48,000个左右的汉字,而图书馆用的中文应用系统需要的汉字可能超过10万。GB 18030-2000达到了27484个汉字,基本上可以满足目前政府机关内部工作、政府机关的网上工作、电子商务、以及其他网上服务行业的需要。此外,GB 18030还提供了13汉字结构符和一些汉字部件,为某些尚未编码的汉字的解决提供了方案。不仅如此,GB 18030建立的编码体系提供了超过150万个编码位置的编码空间,为未来增补汉字作了充分准备。一旦本标准得到实现,类似"镕"字的人名、地名在计算机输入中遇到的困难将越来越少,直至最终完全解决。
2)对GB 2312、GBK和GB 13000的兼容
GB 18030通过提供完整、清晰、明确的代码映射表,采用GB 18030的计算机系统可以轻易地识别和处理GB 2312和GBK编码,降低了系统改造/升级的成本。如果未来需要采用GB 13000,则通GB 18030和GB 13000代码的映射表可以轻松地在二者之间进行转换。
3)对字符编码技术的发展的贡献
在现有系统中,字符编码空间十分有限,例如:GBK只提供了23940个编码位置。GB 18030通过对编码空间的扩展提供了超过160万个编码位置(23949+1587600)。可以自信地说,不仅我国所有汉字都可以在这个标准里面编码,而且我国所有少数民族文字也可以在这个标准里面编码,从此不必再担心编码空间不足的问题了。
4)对标准的用户自定义区和标准保留区的使用做了明确、详细的规定
根据经验,标准或规范的使用者往往误以为标准的用户自定义区和标准保留区可以任意使用,完全自由,因而在标准、规范的实现中自作主张,各按所需使用。实践证明,这种做法非常危险,造成的后果十分严重。GB 18030在研制中充分考虑了标准的用户自定义区和标准表留区的问题,明确而详细规定了其使用方法,要求所有标准实现者必须按照标准做,彻底杜绝了类似问题的再次出现。
5)强制性国家标准
直到不久之前,还经常有人抱怨编码的汉字太少了,只有GB 2312的6763个汉字,不能满足使用要求。而此时,收录了20954个汉字的GBK早已发布并在一些操作系统上实现多年了。经过调查发现:由于GBK是个行业规范,缺乏足够的强制力,很多软件开发商并不实现这个规范。而产品的最终用户由于不知道还有这样一个规范,不知道要求软件开发商来实现它。而GB 18030是个强制性标准,解决了这个问题。首先,软件开发商不得不重视标准,实现标准。其次,标准的知名度要大大高于规范的知名度,而强制性标准的知名度更高。中文软件的最终用户知道了由一个两万七千汉字的标准,就会要求软件开发商来实现。
3、国标码(国家标准代码)
国家标准代码,简称国标码,是中国的中文常用汉字编码集,也被新加坡采用。
现在 GB 18030为中国强制性国家标准,但较旧的计算机仍然使用 GB 2312。
一,较常见的国家汉字标准代码列表:
GB 2312-80
信息交换用汉字编码字符集基本集(又称为GB0)
GB 13000-93
信息技术 通用多八位编码字符集(UCS)第一部分
GB 18030-2005
信息技术 中文编码字符集
二,其他中华人民共和国发布有关汉字标准代码列表:
GB/T 12345 - 90
信息交换用汉字编码字符集第一辅助集(又称为GB1)
GB/T 7589 - 87
信息交换用汉字编码字符集第二辅助集(又称为GB2)
GB 13131 - 91
信息交换用汉字编码字符集第三辅助集(又称为GB3)
GB/T 7590 - 87
信息交换用汉字编码字符集第四辅助集(又称为GB4)
GB 13132 - 91
信息交换用汉字编码字符集第五辅助集(又称为GB5)
GB/T 16500 - 1998
信息交换用汉字编码字符集第七辅助集
国家推荐标准以 "/T"来表示并非强制执行。
由于GB 2312-80只收录了6763个汉字,未能覆盖繁体中文字、部分人名、方言、古汉语等方面出现的罕用字,所以发布了以上的辅助集。
其中,GB/T 12345-90辅助集是GB 2312-80基本集的繁体字版本;GB 13131-91是GB/T 7589-87的繁体字版本;GB 13132-91是GB/T 7590-87的繁体字版本。而GB/T 16500-1998是繁体字版本,它并无对应的简体字版本。
鉴于第二辅助集及第四辅助集,有不少汉字均是“类推简化汉字”,实用性不高,因而较少人采用,而且没有收入 通用字符集ISO/IEC 10646 标准中。
中国国家标准总局于2000年推出强制性的GB 18030-2000标准。于2001年8月31日后发布或出厂的产品,必须符合GB 18030-2000的相关要求。这个标准的最新版本是GB 18030-2005,它的2字节部分是强制性的。
4、BIG5繁体中文字符集
Big5,又称为大五码或五大码,是使用繁体中文的地区中常用的电脑汉字字符集标准,共收录13060个汉字,2003年,新版本发布,称为Big5-2003。
Big5 常用于台湾、香港与澳门等使用繁体中文的地区,倚天中文系统、Windows等主要系统的字符集都是以 Big5为基准,但厂商又各自增删,衍生成多种不同版本。
中文电脑流行后,由于很多字被认为是异体字而未被收录。例如常见的人名用字(如“堃”、“煊”、“栢”(歌手张柏芝)、“喆”(歌手陶喆)等),虽被中文社会广泛采用,也没有收录到Big5 之中。在互联网上,常看到人们把堃、煊、喆等字,写成为“方方土”、“火宣”和“吉吉”等写法。电视上日本动画的中文字幕中也会看到像“木坚”这样的字。
由于各厂商及政府推出的 Big5延伸,彼此互不兼容,造成乱码问题。因为 Unicode能正确地处理七万多个汉字,近年的操作系统和应用程序(如苹果电脑Mac OS X 和以Cocoa API 编写的程序、Microsoft Windows 2000及之后版本、Microsoft Office 2000及之后版本、Mozilla浏览器、Internet Explorer浏览器、Java语言等等),已改用Unicode 编码。可惜现时仍有一些旧的软件(如Visual Basic 6、部分Telnet 或BBS 软件),未能支持Unicode 编码,所以预计Big5 缺字的问题仍会困扰用户一段时间,直到所有程序都能改用Unicode 为止。
三、Unicode标准万国码相关介绍
1、Unicode介绍
在计算机科学领域中,Unicode(统一码、万国码、单一码、标准万国码)是业界的一种标准,包含了超过十万个字符。
Unicode 的开发结合了国际标准化组织(ISO )所制定的ISO/IEC 10646,即通用字符集(Universal Character Set,简称UCS )。Unicode与 ISO/IEC 10646在编码的运作原理相同,但 The Unicode Standard包含了更详尽的实现资讯、涵盖了更细节的主题,诸如字符编码(bitwise encoding)、校对以及呈现等。The Unicode Standard 也列举了诸多的字符特性,包含了那些必须支持双方向呈现的文字。Unicode 与ISO/IEC 10646 两个标准在术语上的使用有些微的不同。
Unicode 是由于传统的字符编码方式的局限性而产生的,例如ISO 8859 所定义的字符虽然在不同的国家中广泛地使用,可是在不同国家间却经常出现不相容的情况。很多传统的编码方式都具有一个共同的问题,即其允许电脑进行双语环境的处理(通常使用拉丁字母以及其本地语言),但却无法同时支持多语言环境的处理(指可同时处理混合多种语言的情况)。
Unicode 在字符集的成功,使其得以在电脑软件的国际化与本地化领域中,广泛且具优势的被采用。这标准已在近年来的多种新科技当中被加以采用,包含了可扩展置标语言(XML)、Java编程语言、以及新的操作系统中。
Unicode 组织(The Unicode Consortium)是由一个非营利性的机构所运作,位于美国加州的Unicode 组织允许任何愿意支付会员费用的公司或是个人加入,其成员包含了主要的电脑软硬件厂商,例如奥多比系统(Adobe Systems)、苹果公司(Apple)、惠普(HP)、IBM、微软(Microsoft)、全录(Xerox)等。
2、Unicode截至目前为止历次的版本与发布时间如下:
· Unicode 1.0:1991年10月
· Unicode 1.0.1:1992年6月
· Unicode 1.1:1993年6月
· Unicode 2.0:1997年7月
· Unicode 2.1:1998年5月
· Unicode 2.1.2:1998年5月
· Unicode 3.0:1999年9月;涵盖了来自ISO 10646-1的十六位元通用字符集(UCS)基本多文种平面(Basic Multilingual Plane)
· Unicode 3.1:2001年3月;新增从ISO 10646-2定义的辅助平面(Supplementary Planes)
· Unicode 3.2:2002年3月
· Unicode 4.0:2003年4月
· Unicode 4.0.1:2004年3月
· Unicode 4.1:2005年3月
· Unicode 5.0:2006年7月
· Unicode 5.1:2008年4月
3、UTF-8介绍
UTF-8(8位通用字符集/Unicode转换格式)是针对Unicode 的一种可变长度字符编码。它可以用来表示Unicode 标准中的任何字符,而且其编码中的第一个字节仍与ASCII 相容,使得原来处理ASCII 字符的软件无需或只作少部份修改后,便可继续使用。因此,它逐渐成为电子邮件、网页及其他储存或传送文字的应用中,优先采用的编码。
因特网工程工作小组(IETF)要求所有因特网协议都必须支持UTF-8 编码。互联网邮件联盟(IMC)建议所有电子邮件软件都支持UTF-8编码。
四、GB 13000、GB 18030和 Unicode之间的比较
本节内容引用自全国信息技术标准化技术委员会的技术文件。不代表本站观点。
原文地址:http://www.nits.gov.cn/sc2/jishufile1-3.asp
与GB 2312相比,上面提到的其它几种标准/规范的字汇要大的多,在广义上都可以称为"大字符集",显然优于GB 2312。因此,下面的比较将不包括GB 2312。由于GBK已经为GB 18030取代,下面的比较将在GB 13000、GB 18030和Unicode规范之间进行。
1、技术
三者的编码空间都十分庞大:GB 18030的编码位置超过了1,600,000个,ISO/IEC 10646和Unicode规范的编码位置更高达2,147,483,648个。就编码空间来说,无论哪一个标准,都可以绰绰有余地容纳世界上所有文字在其中编码。因此,三个标准在编码空间大小上没有优劣之分。
三者的字汇都十分巨大:GB 18030力图为全部汉字和我国所有少数民族文字编码,ISO/IEC 10646和Unicode规范力图为世界上所有文字编码。因此,前者具有更强的针对性,后者具有更强的通用性。三者都采用了四字节的编码方式:为了扩大编码空间,增加编码位置,必须采用多字节编码方式。ISO/IEC 10646和Unicode规范通过在基本多文种平面划出"代理区"映射辅助平面的方式实现四字节编码,GB 13000通过0x30到0x39码位实现编码空间扩展,达到四字节。由于GB 18030采用了双字节和四字节的混合排列,因此在标准的实现过程中略微复杂一些。
在我国,GB 18030具有更好的兼容性:GB 18030完全解决了对采用GB 2312和GBK编码的文档的兼容问题,实现了旧有编码体系向新的编码体系的平滑过渡;同时,GB 18030通过映射表方式解决了它与ISO/IEC 10646以及Unicode规范之间的代码转换问题。而ISO/IEC 10646和Unicode规范由于其全球通用性要求,无法全面解决兼容性问题。
2、管理
GB 18030是我国独立研制的编码字符集标准,目的是满足我国国内对文字编码的需要。标准的修订和解释由我国有关管理部门和技术专家掌握,根据技术发展和使用需要,我们随时可以修订该标准,具有很高的自主权。
ISO/IEC 10646是在ISO/IEC JTC1领导下由各国专家共同制定的国际标准。自八十年代中期以来,我国一直积极参加该标准的研制和修订工作。特别是在该标准汉字部分的研制和修订工作 中,我国担任着汉字工作组的召集人和主编,具有很大的影响力。
Unicode规范是一个由产业界部分有影响的公司起草的规范性文件,它的研制和修订由Unicode组织掌握。换句话说,少数国外大公司完全控制了Unicode规范的制定和产品实现的进程。我国的信息技术和信息产业尚未发展成熟,对Unicode规范施加影响是十分困难的,即使是在汉字部分,我们的影响力也十分有限。
3、结论
综上所述,GB 18030、ISO/IEC 10646(GB 13000)和Unicode规范在技术上都十分优秀。从我国信息技术和信息产业发展的角度考虑,无论采用GB 18030还是ISO/IEC 10646都十分有利,而在我国采用Unicode规范显然是不合适的。考虑到解决我国用户的需要和解决旧有系统的兼容性问题,以及信息安全的要求,目前采用GB 18030是较为有利的选择。
五、选择合适的版本
由此可以得出结论:
如果是简体中文用户,由于GBK已经为GB 18030取代,采用GB 18030是较为有利的选择,如果产品没有GB 18030 版本,可以采用GBK 中国行业规范的版本。如果有多语言环境的需要,推荐采用ISO/IEC 10646(GB 13000)。在我国采用Unicode规范显然是不合适的。如果产品没有GB 13000 版本,可以采用Unicode 国外行业规范的版本。建议使用简体UTF-8版本。
如果是繁体中文用户,建议使用繁体UTF-8版本。
注意:安装 Comsenz康盛创想旗下的各个产品,要选择相同的字符集版本,比如首先安装 UTF-8版本的 UCenter,然后安装 UTF-8版本的 Discuz!,这样才能够正常使用。
-
六,汉字区位码