Unicode与ISO10646
2009-05-13 01:55:32来源:未知 阅读 ()
Unicode与ISO10646
作者:曾士熊
一、缘起
1960年代初期,美国国会图书馆(Library of Congress, LC)的Henriette Avram等人开始研拟机读编目格式,同时James Agenboard等人也制订了英文的字符集和交换码,以做为美国图书馆界书目交换的共同标准。LC交换码随后发展成为美国的国家标准ASCII(AmericanStandard Codefor Information Interchange),而且还进一步演变成世界性的计算机字符编码标准ISO646(其全名为7-bit coded character set for information interchange)。时至今日,虽然一个字节(byte)的长度已经从7个位(bit)增加为8个位,ASCII和ISO646 仍然是计算机与网络世界里要的奠基标准。
依ASCII和ISO646的规定,7个位所能提供的128个编码位置(编码范围为0~127)被区分为两部分:94个图形字符码和34个控制字元码。图形字符包括52个大小写英文字母﹑10个阿拉伯数字﹑9个标点符号﹑6个括号,以及17个其它符号,编码范围从33到126。控制字符则包括10个传输控制字符、6个版面调整字符、4个设备控制字元、 4个信息分隔字符和10个特殊控制字符,其编码为0~32和127。
当计算机或网络设备收到一连串的位信号时,通常会一边接收一边切分为字节(即每8个位一切),并且立刻分辨刚收到的位组究竟是控制字符码还是图形字符码。若是属收讯设备相关的控制字符时(例如传输控制、编码为7的BELL等字符),当计算机或网络设备会截留该字符并立即做出对应动作(例如BELL字符会驱使收讯设备叫一声),否则不予处理而传送给后续设备。换言之,计算机和网络设备会吃掉位串里的特定控制字符码。
随着计算机功能的日趋强大与价格的日趋便宜,其应用领域也越来越广。但是随之而来的各种编码需求,却使得单一字节的编码方式,因编码空间太小,变得不足以因应各种应用程序的需求。中文字、排版系统的标志符号、非英语拼音字母和图形符号等的编码,需要使用2或多个字节来编码。同时,为了预防这些多字节字符码被计算机或网络设备「吃掉」其中的某个字节,编码时必须避开每个字节的0~32和127这34个句柄。这种做法严重浪费编码空间,就多字节扩充编码的国际标准ISO2022而言,两个8位的位元组只能提供最多188个控制字符和35,344个文字形符号的编码空间,共计35,532个编码位置,但是16个位的编码空间事实上高达65,536。两者相比较,ISO2022的16位编码只能达到最大编码空间的54%,显得利用率很差。同时在应用层次的编码,由于厂商众多又缺乏共识,往往你编你的码、我编我的码,其后果则是引发万码奔腾的乱象。
为容纳全世界各种语言的字符和符号,ISO的一些会员国于1984年发起制定新的国际字符集编码标准。新标准由工作小组ISO/IECJTC1/SC2/WG2(注1)负责拟订(以下简称WG2),最后定案的标准命名为“Universal Multiple-Octet Coded Character Set”(简称UCS),其编号则订为ISO/IEC 10646。依WG2原来的规划,ISO10646的编码结构系沿袭ISO2022八位延伸编码结构以避开C0和C1两个句柄区(注2),但打破每个字符码里的所有字节的bit-8(即最左边的位,其值为28=128)必须都设为0或是都设为1的限制,以提高编码空间的使用率。同时,为了能有足够位置以容纳全世界各种语言的字符和符号,以及为了配合微处理器以8、16、32甚或64个位为一个运算处理单位的趋势,ISO10646的字符码长度被规定为定长的4个八位(octet)。
ISO10646草案初稿一经公布,其编码结构立即遭到美国部份计算机业者的反对。1988年初,美国Xerox公司的Joe Becker倡议以新的编码结构,另外编订世界性字符编码标准:将计算机字符集编码的基本单位由现行的7或8个位一举扩充为16个位,并且充分利用65,536个编码位置以容纳全世界各种语言的字符和常用符号。新的字符集编码标准被命名为“Unicode”(注3)。一群来自Xerox公司和Apple公司的工程师组成工作小组,负责Unicode的原始设计工作。1991年元月,十多家计算机硬软件、网络和信息服务业者,包括:IBM、DEC、Sun、Xerox、Apple、MicroSoft、Novell名公司,共同出资成立Unicode协会(The Unicode Consortium),并由协会设立非营利的Unicode公司。Unicode协会成立之后,将原先的工作小组扩编为Unicode技术委员会(Unicode Technical Committee),专责Unicode的字符搜集、整理、编码等工作。推动Unicode成为国际标准的工作,则由Unicode公司负责。Unicode草案第一版于1989年9月发表,历经多次修订后,分别于1991、92年出版了Unicode标准第一版(TheUnicode Standard, version 1.0)的第一、第二册。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:关于汉字编码
- 选择FreeBSD的中文编码 2009-05-13
- FireFox3对FTP下中文名文件的问题 2009-05-13
- UNIX学习(4) 2009-05-13
- Vi使用入门 2009-05-13
- freebsd提示符的颜色 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash