现在的位置: 首页 >> 操作系统 >> FreeBSD >> Unicode与ISO10646(上)
添加时间:2005-8-21 来源:网教中国 作者:
Unicode与ISO10646(上)

 

(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]  下一页


上一篇:FreeBSD中的设备命名规则 下一篇:FreeBSD 5内核源代码分析之copyin()实现原理
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
·FreeBSD handbook中文版 9 配制F
·FreeBSD 升级系统
·Ports & Package
·FreeBSD kernel 编译大法(二)ker
·FreeBSD 上使用Kerberos 5认证
·FreeBSD 5.x 中 gbfs 的修正,及
·FreeBSD 安装Linuxigd
·FreeBSD 使用cvsd创建安全的cvs
·FreeBSD trafcount命令介绍
·FreeBSD入门安装及汉化
相关文章
 
最新文章
·FreeBSD连载(94):基于NAT的负载
·FreeBSD连载(93):反向代理负载
·FreeBSD连载(92):基于DNS的负载
·FreeBSD连载(91):提升静态网页
·FreeBSD连载(90):单服务器性能
·FreeBSD连载(89):CGI和SSI的安
·FreeBSD连载(88):安全连接方式S
·FreeBSD连载(87):基于用户的访
·FreeBSD连载(86):对IP地址和域
·FreeBSD连载(85):配置Apache服(
Google