中文文字信息处理之几种常用国标
常见国标包括有:GB1988、GB2312、GBK、GB13000、GB18030(2000年公布)。
GB1988
GB1988《信息处理交换用的七位编码字符集》是我国计算机专业基础标准,它是根据国际标准ISO 646《信息处理交换用七位编码字符集》制定的。这个标准是针对西文(包括图形字符和控制字符)制定的,是计算机专业必须遵照的基础标准。
GB1988规定了信息处理交换用的128个字符,每个字符用b7 b6 b5 b4 b3 b2 b1七位标识,其中b7为最高位,b1为最低位。通常用最高位为0的一个字节表示。
在GB1988字符中,处于0列和1列的32个字符为控制字符,它们组成一个控制字符集(属于C0集);位置为“2/0”的“SP”字符(做空格码用)和“7/15”的“DEL”字符(做“作废”或“抹消”用)是具有控制功能的字符,可归入控制字符的范围;处于2至7列的字符(不包括“2/0”“7/15”的字符)的94个字符是可显示和打印的图形字符,它们组成一个图形字符集(属于G0集)。
但是GB1988仅规定了128个字符及其编码表示,它只能满足西文系统信息处理的需要。作为一个汉字信息处理系统,通常要处理成千上万个汉字,而且还需要一些特殊的控制功能,所以还必须制定一套编码扩充方法,以满足汉字信息处理的需要。
GB2312
国家标准GB2312-80《信息交换用汉字编码字符集 基本集》是1981年我国公布实施的汉字交换码标准,并且与GB1988兼容,成为我国汉字信息处理系统中最基础的代码标准。
(1)GB2312基本集的代码表
GB2312规定了94×94(即8836个)编码位置,每个位置代表一个图形图形字符(汉字或非汉字图形字符),用两个字节表示,其中每个字节的最高位是0,剩下的7位放GB1988的图形字符的7位二进制编码。GB2312收录的6763个汉字字符和682个非汉字图形字符就排列在94×94个编码位置所组成的代码表中。这个矩阵的行称“区”,列称“位”,所以这个代码表就有94个区、94个位,有区和位来表示每个汉字的位置。每一个的字符的位置唯一确定一个代码,也就是这个字符我位置代码,位置代码有两个字节,第一个字节为行所对应的GB1988字符的编码,第二个为列所对应的GB1988字符的编码。将两字节的字符编码用16进制数顺序书写出来,即构成该汉字的国际交换码。
(2)基本集的汉字选择
GB2312基本集为7445个图形字符进行双字节编码,其中非汉字图形字符包括202个一般符号、60个序号、22个数字、52个拉丁字母、169个日文假名、48个希腊字母、66个俄文字母、26个拼音字母和37个汉语注音字母等共682个;汉字字符6763个。
基本集中的汉字的选择是以中华人民共和国文化部和中国文字改革委员会公布的《印刷通用汉字字型表》(6159字)为准,其中没有的500多个字参考了《新华字典》、《现代汉语词典》、《辞海》。其字体是以中国文字改革委员会1964年编印的《简化字表》以及文化部和文字改革委员会联合公布的《第一批异体字整理表》为准。
(3)汉字的分级和排序
根据我国“748工程”的查频统计,基本集中的6763个汉字字符使用覆盖率达99.99%。
但是它们的使用频率相差却很大,3000—4000个常用字覆盖率达99.9%左右。所以其实只要具备三四千字就能大体满足一般应用的需要。所以把最常用的3755字作为一级常用字,然后剩下的的3008个汉字作为二级常用字,他们的使用覆盖率就只有0.09%。
6763个汉字的排序是分成两种情况进行的。一种是按照汉语拼音字母进行音序排列。对于多音字就取常用的读音;同音同调字以起笔笔形按照横、竖、撇、点、折的顺序排序,若起笔也相同侧按照第二笔,依此类推。另外一种方法就是按章部首排序。
(4)GB2312-80的意义
使我国所有进行汉字信息交换的系统有一个统一的汉字交换用代码体系;它是汉字信息处理最主要最基本的标准,是制定其他汉字信息处理标准的基础;是设计、研制、生产汉字信息处理系统及汉字设备必须遵循的准则
GB13000
1993年国际标准化组织发布了ISO/IEC 10646-1《信息技术通用多八位编码字符集第一部分体系结构与基本多文种平面》。我国等同采用此标准制定了GB 13000.1-1993。该标准采用了全新的多文种编码体系,收录了中、日、韩20902个汉字,是编码体系未来发展方向。
GBK
GBK是又一个汉字编码标准,全称《汉字内码扩展规范》(GBK),英文名称Chinese Internal Code Specification ,中华人民共和国全国信息技术标准化技术委员会1995年 12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函[1995]229号文件的形式,将它确定为技术规范指导性文件,发布和实施。这一版的GBK规范为1.0版。GB即“国标”,K是“扩展”的汉语拼音第一个字母。GBK向下与 GB 2312 编码兼容,向上支持 ISO 10646.1 国际标准,是前者向后者过渡过程中的一个承上启下的标准。
ISO10646是国际标准化组织ISO公布的一个编码标准,即Universal Multilpe-Octet Coded Character Set(简称 UCS),译为《通用多八位编码字符集》,它与 Unicode 组织的 Unicode 编码完全兼容。ISO10646.1 是该标准的第一部分《体系结构与基本多文种平面》。我国 1993 年以 GB13000.1 国家标准的形式予以认可。
ISO 10646 是一个包括世界上各种语言的书面形式以及附加符号的编码体系。其中的汉字部分称为“CJK 统一汉字”(C 指中国,J 指日本,K 指朝鲜)。而其中的中国部分,包括了源自中国大陆的 GB 2312、《现代汉语通用字表》等法定标准的汉字和符号。
(1)字汇
GBK 规范收录了 ISO 10646.1 中的全部 CJK 汉字和符号,并有所补充。具体包括:
1. GB 2312 中的全部汉字、非汉字符号。
2. GB 13000.1 中的其他 CJK 汉字。以上合计 20902 个 GB 化汉字。
3. 《简化字总表》中未收入 GB 13000.1 的 52 个汉字。
4. 《康熙字典》及《辞海》中未收入 GB 13000.1 的 28 个部首及重要构件。
5. 13 个汉字结构符。
6. BIG-5 中未被 GB 2312 收入、但存在于 GB 13000.1 中的 139 个图形符号。
7. GB 12345 增补的 6 个拼音符号。
8. 汉字“○”。
9. GB 12345 增补的 19 个竖排标点符号(GB 12345 较 GB 2312 增补竖排标点符号 29 个,其中 10 个未被 GB 13000.1 收入,故 GBK 亦不收)。
10. 从 GB 13000.1 的 CJK 兼容区挑选出的 21 个汉字。
11. GB 13000.1 收入的 31 个 IBM OS/2 专用符号。
(2)码位分配及顺序
GBK 亦采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 xx7F 一条线。总计 23940 个码位,共收入 21886 个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号 883 个。
全部编码分为三大部分:
1. 汉字区。包括:
a. GB 2312 汉字区。即 GBK/2: B0A1-F7FE。收录 GB 2312 汉字 6763 个,按原顺序排列。
b. GB 13000.1 扩充汉字区。包括:
(1) GBK/3: 8140-A0FE。收录 GB 13000.1 中的 CJK 汉字 6080 个。
(2) GBK/4: AA40-FEA0。收录 CJK 汉字和增补的汉字 8160 个。CJK 汉字在前,按 UCS 代码大小排列;增补的汉字(包括部首和构件)在后,按《康熙字典》的页码/字位排列。
2. 图形符号区。包括:
a. GB 2312 非汉字符号区。即 GBK/1: A1A1-A9FE。其中除 GB 2312 的符号外,还有 10 个小写罗马数字和 GB 12345 增补的符号。计符号 717 个。
b. GB 13000.1 扩充非汉字区。即 GBK/5: A840-A9A0。BIG-5 非汉字符号、结构符和“○”排列在此区。计符号 166 个。
3. 用户自定义区:分为(1)(2)(3)三个小区。
(1) AAA1-AFFE,码位 564 个。
(2) F8A1-FEFE,码位 658 个。
(3) A140-A7A0,码位 672 个。
(3)字形
GBK 对字形作了如下的规定:
1. 原则上与 GB 13000.1 G列(即源自中国大陆法定标准的汉字)下的字形/笔形保持一致。
2. 在 CJK 汉字认同规则的总框架内,对所有的 GBK 编码汉字实施“无重码正形”(“GB 化”);即在不造成重码的前提下,尽量采用中国新字形。
3. 对于超出 CJK 汉字认同规则的、或认同规则尚未明确规定的汉字,在 GBK 码位上暂安放旧字形。这样,在许多情况下 GBK 收入了同一汉字的新旧两种字形。
4. 非汉字符号的字形,凡 GB 2312 已经包括的,与 GB 2312 保持一致;超出 GB 2312 的部分,与 GB 13000.1 保持一致。
5. 带声调的拼音字母取半角形式。
(4)目前应用
在基本操作环境方面,微软公司自 Windows 95 简体中文版始,系统采用 GBK 代码,它包括了 TrueType 宋体、黑体两种 GBK 字库(北京中易电子公司 提供),可以用于显示和打印,并提供了四种 GBK 汉字输入法。
微软公司为 Internet Exporer 提供的语言包中,简体中文支持(Simplified Chinese Languege Suport Kit)的两种字库宋体、黑体,也是 GBK 汉字(珠海四通电脑排版系统开发公司 提供)。
许多外挂式的中文平台,如南极星、四通利方(Richwin)等,提供 GBK 码的支持,包括字库、输入法和 GBK 与其他中文代码的转换器。
在互联网方面,许多网站的网页使用了 GBK 代码,如《人民日报》等。
GB18030
国家标准GB18030-2000《信息交换用汉字编码字符集基本集的扩充》是我国继GB2312-1980和GB13000-1993之后最重要的汉字编码标准,是未来我国计算机系统必须遵循的基础性标准之一。为保证该标准顺利贯彻执行,国家质监总局将在9月1日起首先对影响广泛的计算机操作系统进行执法检查,凡不符合该标准的产品,视为不合格产品。为此,全国信息技术标准化技术委员会将根据有关标准和规范,组织对市场上主要的操作系统产品进行标准符合性检测。
GB 18030收录了27484个汉字,总编码空间超过150万个码位,为解决人名、地名用字问题提供了方案,为汉字研究、古籍整理等领域提供了统一的信息平台基础。
目前,我国大部分计算机系统仍然采用GB 2312编码。GB 18030与GB 2312一脉相承,较好地解决了旧系统向新系统的转换问题,并且改造成本较小。从我国信息技术和信息产业发展的角度出发,考虑到解决我国用户的需要及解决现有系统的兼容性和对多种操作系统的支持,采用GB 18030是我国目前较好的选择,而GB 13000.1更适用于未来国际间的信息交换。考虑到GB 18030和GB 13000的兼容问题,标准起草组编制了GB 18030与GB 13000.1的代码映射表,使得两个编码体系可以自由转换。同时,还开发了GB 18030基本点阵字型库。
世界许多国家和地区从方便本国和民族应用的角度出发,制定了相应的编码标准和内码体系,如日本的JIS X 0208和JIS X 0212,韩国的KS C 5601和KS C 5657等,这是国际上采用的通行惯例。制定GB 18030同样符合国际惯例,它全面兼容GB 2312,在字汇上兼容GB 13000.1,可以充分利用已有资源,保证不同系统间的兼容性,最大限度地共享资源,为我国软件产业留有巨大的发展空间。可以相信,GB 18030的实施将有利于国产软件的发展并形成规模,使我国的中文信息技术再上一个台阶。
1980年我国颁布了第一个汉字编码字符集标准,即GB 2312-80《信息交换用汉字编码字符集基本集》。该标准共收了6763个汉字及常用符号,奠定了中文信息处理的基础。
随着国际间的交流与合作的扩大,信息处理应用对字符集提出了多文种、大字量、多用途的要求。由于GB13000编码体系与现有多数操作系统和外部设备不兼容,所以它的实现仍需要有一个过程,目前还不能完全解决我国当前应用的迫切需要。
考虑到GB 13000的完全实现有待时日,以及GB 2312编码体系的延续性和现有资源和系统的有效利用与过渡,我们选择了在GB 2312(GB 2311)的基础上进行扩充,并且在字汇上与GB 13000.1兼容的方案,研制一个新的标准——汉字编码基本集的扩充,进而完善GB 2312,以满足我国邮政、户政、金融、地理信息系统等应用的迫切需要。
1998年10月,由信息产业部电子四所、北京大学计算机技术研究所、北大方正集团、新天地公司、四通新世纪公司、中科院软件所、长城软件公司、中软总公司、金山软件公司和联想公司的技术人员组成标准起草组。在标准研制过程中,全国信息技术标准化技术委员会多次召集标准起草组和知名公司对标准草案进行充分地研究论证,并且特邀了微软公司、惠普公司、Sun公司和IBM公司等参加,广泛征求意见。标准起草组经过反复斟酌和验证,提出了标准制定原则——与GB 2312信息处理交换码所对应的事实上的内码标准兼容,在字汇上支持GB 13000.1的全部中、日、韩(CJK)统一汉字字符和全部CJK扩充A的字符,并且确定了编码体系和27484个汉字,形成兼容性、扩展性、前瞻性兼备的方案。
信息产业部和原国家质量技术监督局于2000年3月17日联合发布了该标准,即GB 18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充》。该标准作为国家强制性标准自发布之日起实施,过渡期到2001年8月31日止。