|
(2)0080~00A0h:句柄区。其中0080~009Fh为C1句柄,
00A0h为不中断空格(no-break space)。
(3)00A1~1FFFh:拼音文字区。收容除基本拉丁字母以外的各种
拼音文字字符,包括欧洲各国语言、希腊文、斯拉夫语文、
希伯来文、阿拉伯文、亚美尼亚文、印度各地方言、马来文、
泰文、寮文、柬普寨文、满文、蒙文、藏文、印地安语文等。
(4)2000~28FFh:符号区。收容各种符号,包括标点符号、上下
标、钱币符号、数字、箭头、数学符号、工程符号、光学辨
识符号、带圈或带括符的文数字、表格绘制符号、地理图标、
盲用点字、装饰图形等。
(5)2E80~33FFh:中日韩符号区。收容康熙字典部首、中日韩辅
助部首、注音符号、日本假名、韩文音符,中日韩的符号、
标点、带圈或带括符文数字、月份,以及日本的假名组合、
单位、年号、月份、日期、时间等。
(6)3400~4DFFh:中日韩认同表意文字扩充A区,总计收容6,582
个中日韩汉字。
(7)4E00~9FFFh:中日韩认同表意文字区,总计收容20,902个中
日韩汉字。
(8)A000~A4FFh:彝族文字区,收容中国南方彝族文字和字根。
(9)AC00~D7FFh:韩文拼音组合字区,收容以韩文音符拼成的文
字。
(10)D800~DFFFh:S区,专用于UTF-16,详情后叙。
(11)E000~F8FFh:专用字区,其内容WG2不予规定,保留供使用
者自行添加ISO10646未收容的字符。
(12)F900~FAFFh:中日韩兼容表意文字区,总计收容302个中日
韩汉字。何谓兼容表意文字,留待后叙。
(13)FB00~FFFDh:文字表现形式区,收容组合拉丁文字、希伯来
文、阿拉伯文、中日韩直式标点、小符号、半角符号、全角
符号等。
WG2集各国专家之力共同整理全世界古今各种语言文字和符号,陆
续编入ISO10646。WG2依语言特性把各种文字区分为表意文字和非表
意文字两类,表意文字其实就是东亚各国所使用发源于中国的汉字,
主要包括台湾、中国、日本、南北韩、越南、新加坡和港澳地区所使
用的汉字。除汉字之外的所有其它文字,一律归类为非表意文字,绝
大部分为拼音文字。ISO10646的BMP和Unicode同时收编非表意文字、
符号和表意文字。但全世界古今各种语言文字和符号的数量何其庞大,
单靠BMP不足以容纳。WG2截至目前为止所收集、整理的非表意文字和
符号部分,扣除已编入BMP者,其余全部编入第1字面,由于其内容项
目过于庞杂,本文不拟介绍。而表意文字部分扣除已编入BMP者,其
余全部编入第二字面,其内容为:
(1)中日韩认同表意文字扩充B区:总计42,807个中日韩越汉字,
编码范围为0002-0100~0002-A836h。
(2)CNS11643兼容字符区:收容被认同的CNS11643字符527个,编
码范围为0002-F800~0002-FA16h。
WG2制订ISO10646编码字符集,首先由各会员体或观察员收集整理
自己国家的文字和符号向WG2提案(注7),WG2每半年召开会议审查
字符集提案,通过者即予以编码或是等候汇集更多字符集后再进行
编码。非表意文字或符号,因为字集小或是只有某个国家使用,通
常直接在WG2会议上讨论即可。但汉字字集规模庞大且为多个国家和
地区共同使用,WG2为此设置表意文字书记小组(Ideograph Rapporteur
Group, IRG)专责收集各国汉字字集,加以比对认同汇整成为整体
性字集之后再向WG2提出。IRG所建议的字符集,WG2向来都是直接
接受予以编码。IRG各会员体所提出的汉字都源自中国,难免有些字
的字形相同或极为近似。为了避免ISO10646编码表出现重复字造成
使用者困扰,IRG制订了表意文字认同规则。凡是依规则应予认同的
汉字,一律合并成一字赋予一个编码。不过为了尊重各国对各自文
字的主控权,WG2特别在ISO10646编码表中并列同一汉字不同来源的
各自字形。
认同规则不仅运用于整合不同来源的汉字,同时适用于相同来源
的汉字。例如,在我国中文码国家标准CNS11643的字集里就收编了
两个极为相似的「图」字,分别赋予两个不同的码1-6837h和6-5B5Bh,
这两个「图」字,依认同规则必须合并为一个,于是后者被前者认
同掉了。详言之,CNS的1-6837h和6-5B5Bh都对应到Unicode的5716h
(或ISO10646的0000-5716h),但是Unicode的5716h却只对应到CNS
的1-6837h。当我们把数据从CNS码转换成Unicode,再由Unicode转回
CNS码时,将发生6-5B5Bh→5716h→1-6837h的结果,这种现象称为去
回转码(round-trip conversion)错误。解决之道无他,必须在
Unicode或ISO10646字集中多加上被认同掉的字符并另外赋予编码
(称为兼容字符),做到CNS字集与ISO10646字集一对一(但不必
也无法做到映成)。ISO10646第2字面所收容的CNS兼容字集,就是
我国为了达到正确去回转码的目的,经多年力争所得成果。换言之,
CNS11643现有中文字集已全数编入ISO10646编码表中。 (下期待续)
参考数据:
注1:ISO为国际标准组织(International Organization for
Standardization)的英文缩写;IEC为联合国下属国际电
气技术委员会(International Electro-technical
Commission)的英文缩写;JTC1系由ISO和IEC双方协议共
组的第一联合技术委员会(Join Technical Committee One),
负责制订与信息处理、信息技术相关的国际标准;JTC1/SC2
为设于JTC1之下的第二分组委员会(Sub-Committee Two);
而JTC1/SC2/WG2则是JTC1/SC2之下的第二工作组(Working
Group Two)。在我国,经济部标准检验局设有对应ISO/IEC
JTC1/SC2的组织,称为信息及通信国家标准起草委员会,
而对应ISO/IEC JTC1/SC2/WG2者,称为中文信息标准分组
委员会。笔者同时担任这两个组织的委员。
注2:C0句柄区指的是编码为0~31的32个句柄(其bit-8为0),
而C1句柄区则是意指128~159的32个句柄(其bit-8为1)。
关于C0和C1句柄详情,请参考ISO6429或CNS13479。
注3:国内有人将Unicode译为「统一码」。
注4:ISO10646-1为该标准的第一部份,正式名称为“ISO/IEC 10646-1:
Universal Multiple-Octet Coded Character Set - UCS - Part 1:
Architecture and Basic Multilingual Plane (BMP)”,其
内容仅及于ISO10646的编码结构和第0字面的编码表。
注5:ISO10646-2为该标准的第二部份,正式名称为“ISO/IEC 10646-2:
Universal Multiple-Octet Coded Character Set - UCS - Part 2:
CJK Unified Ideographs Supplementary Plane, General Scriptsand
Symbols Plane, General Purpose Plane”,其内容主要包括
第1字面非表意文字、符号的编码表,以及第2字面中日韩认同
表意文字和兼容表意文字的编码表。
注6:在此,h表示16进制数字,每一数字的值为0~15,分别表示
为0~9和 A(10)、B(11)、C(12)、E(13)、D(14)和F(15)。
注7:我国为WG2的观察员和IRG的会员体,本文作者目前为这两个
组织的我国代表。
《信息话题》
Unicode与ISO10646(下)(作者:曾士熊)
(续1510期)
三、UTF-16与UTF-8
ISO10646的编码空间足以容纳古今人类使用过的所有文字和符号,
但目前真正被使用的文字或符号,绝大多数都已编入BMP,它们的使
用频率可能超过99%,甚至99.99%。换言之,就99%以上的使用者或
使用场合而言,16位的Unicode已是足敷需求,32位的ISO10646
上一页 [1] [2] [3] 下一页
|