本文介绍的内容是简体、繁体两种书写体和 GBK 、 UTF-8 、 BIG5 三种字符集。
目前 Comsenz 康盛创想旗下的各个产品以及集成安装包都包含四个版本:简体 GBK 、简体 UTF-8 、繁体 BIG5 、繁体 UTF-8 。为了方便选择合适的版本,介绍这些知识。
本文分为六个部分:
- 一、字符集发布时间表
- 二、汉字编码字符集介绍
- 1 、 GB2312 、 GB 13000 、 GBK 、 GB18030 介绍
- 2 、 GB 18030 的优点
- 3 、国标码 (国家标准代码)
- 4 、 BIG5 繁体中文字符集
- 三、 Unicode 标准万国码介绍
- 1 、 Unicode 介绍
- 2 、 Unicode 版本发布时间表
- 3 、 UTF-8 介绍
- 四、 GB 13000 、 GB 18030 和 Unicode 之间的比较
- 五、选择合适的版本
- 六、参考资料
最新产品下载:http://comsenz.com/downloads/install
历史产品下载:http://download.comsenz.com/
一、字符集发布时间表
编码字符集 | 发布时间 | 是否中国国家标准 | 收录字符 | 说明 |
GB 2312-80 | 1980 年 | 是 | 6763 个汉字 | |
GB 13000.1-93 | 1993 年 | 对应国际标准 ISO/IEC 10646 | 20902 个汉字 | 为世界上所有文字编码 |
GBK | 1995 年 | 否 | 21000 个以上 | 已被 GB 18030 取代 |
GB 18030-2000 | 2000 年 | 中国强制性国家标准 | 27484 个汉字 | |
GB 18030-2005 | 2005 年 | 中国强制性国家标准 | 70244 个汉字 | 为我国文字编码 |
Unicode 5.1 | 2008 年 | 国外行业标准 | 十万个字符 | 为世界上所有文字编码 |
BIG5-2003 | 2003 年 | 行业标准 | 13060 个汉字 |
二、汉字编码字符集介绍
本节内容部分摘录自全国信息技术标准化技术委员会的技术文件。
原文地址:http://www.nits.gov.cn/sc2/jishufile1.asp
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.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 月
Unicode 3.1:2001 年 3 月;新增从 ISO 10646-2 定义的辅助平面 (Supplementary Planes)
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! ,这样才能够正常使用。
六、参考资料
本文的反馈请论坛联系 sink