admin 管理员组

文章数量: 1184232


2024年3月12日发(作者:gets和puts函数)

维普资讯

科技信息 0计算机与信息技术0 SCIENCE INFORMATION 2006年 第3期 

Unicode及中文到Unicode转换 

邱发林1,2李 伟 周绍景 

(1、云南大学信息学院云南昆明650031;2、昆明冶金高等专科学校计算机与信息工程系 云南昆明650033) 

摘墓:Unic0de给每个字符提供了一个唯一的数字。不论是什么平台,不论是什么程序。不论什么语言。Unicode使用全16位元字元集。这 

使得Unic。de能够表示65。536个不同的字符。所以这是一个最佳的国际解决方案。Unicode标准已经被工业界的领导们所采用。本文主要介 

绍Unicode产生的背景、Unicode的蝙码机制压中文到Unicode的转换。 

关键宇:Unicode;JavaScript;编码 

0.Unieode产生的背量 

3.Unicode的编码结构 

人们写下的文字从形式上看是由组成单词和句子的文本元素来 

在计算机诞生之初,编码问题并不是很重要。因为当时计算机基 

表达的。这些元素可以是字母,如英语中的”m”或”M”,也可以是像日 

本上是在英语语系的国家内使用。所以编码只要考虑英语二十六个字 

或者是中文中用的方块字。这些元素就 

母就行了。因此美国制定了使用七位编码的ASCII码(0-127)。这很快 

语中平假名中用的音节符号。

就成为了世界性的标准,也是现在所有字符集的基础。通常被称为基 是字符集应该包含的内容。 

本拉r字符集。事实上,ASCII码仅仅定义了用于书写美国英语的全 

但应该看到,在计算机中。文字的输入不是以文本元素为单位的, 

部字符,它甚至缺少一些写英语所必须的符号,如版权符号等,这主要 

是当时计算机主要用在军事上。同时由于采用的是有符号数作为编 

码,使得所定义的字符只有128个,不能包括太多的字符。 

随着计算机在全球的发展,以及在各个行业的普及,编码的问题 

日益重要,原有的ASCII码已经不够用了,于是人们通过把有符号数 

变为无符号数,使得编码范围从0-127变为0 ̄255,把附加的字符指 

定给128以上,来扩展ASCII码。在这一方面,国际标准化组织做了很 

多工作。它定义了很多基于ASCII的字符集标准(ISO一8859—1-ISO一 

8859—15)。其中ISO一8859一l,也就是通常说的L砒in-l。它包括了足够 

的附加字符来写基本的西欧语言。这些字符集一个共同的特点就是它 

而是随文字处理过程的不同而不断的在变化的。如,在传统的西班牙 

语言中,”ll”是一个单独的字符,而当从键盘输入西班牙语时,”11”则变 

为两个单独的”l”。Unieode称之为编码元索,又称之为字符。一个编码 

元素是指对计算机处理文档最基本和最有用的字符。在绝大部分情况 

下,编码元素就是文本元素,如英语中的大小写字母。但在某些情况 

下,如上面的例子中,”l”就成为编码元素,而西班牙字母”ll”的组合就 

交给字处理软件去完成。 

为了和现有的一些标准如L n l兼容,Unieode也为在这些字符 

集中出现的组合字母专门赋予了编码,因此这些字母就有两种方法来 

进行编码。如”I1”,它的编码为u+0oFc,但也可以用U+0075”iiII加上 

们都是ASCII码的超集,扩充部分包含一门或几门可以合并的语言中 

U+0308”””来表示。 

由于现在使用的字符集很多.在Unicode中还包括了为维持与其 

的字符。由于ISO标准采用的是单字节编码,因此在ISO标准中没有 

汉语、日语和朝鲜语。同时。由于每个标准只包含一门或几门语言,所 

他字符编码兼容性的字符。一般来说。它们是在Unicode空间中其他 

code 

以在某些场合并不适用,如没有一个标准可以满足书写同时包含英 

地方出现的字符的复制表示。如U+55296一U+57343是为了把Uni

语、希伯莱语和士耳其语的文档的需要。但是ISO标准毕竟覆盖r全 

扩展为四字节的字符集UCS而设置的。 

Unicode编码为每一个字符指定了0-65535之间的双字节无符号 

球大部分语种,所以ISO标准的提出很好的促进了计算机的发展和普 

及。 

数。现在已经定义了五万多个不同的Unicode字符。其余的不到一千 

在ISO组织推出ISO标准字符集的同时,APPLE和微软公司在推 

出自己的操作系统的同时也推出了自己的字符集标准,这些字符集可 

以认为是失败的。因为它们除了低位128个字符相一致外,扩展的字 

符完全不一样,这使得一个使用了扩展字符的文档无法Mac移植到 

PC的Windows系统上。 

多个多个空位留给以后扩展之用。其中汉语用了两万多个字符。而朝 

鲜语用了一万一千多个,其余字符编码是世界上大多数的其他语言的 

字母表。希腊字母表使用从0370到03FF的代码,南斯拉夫语使用从 

0400到04FF的代码,美国使用从0530到058F的代码,希伯来语使 

用从0590到05FF的代码。中国、日本和韩国的象形文字(总称为 

CJK)占用了从3000到9FFF的代码。 

对已经定义的五万多个字符,Unicode采取分块的方法。把字符集 

分成若干个字符块。每一块都是一门或几门可以合并的语言字符或…・ 

些标点符号。这有点象原有的单字节编码系统中扩展部分的内容。事 

实上。您也许会高兴地知道前128个Unicode字元(16位元代码从 

0000到O07F)就是ASCII字元。而接下来的128个Unicode字元(代 

码从OxO080到0x0OFF)是ISO 8859—1对ASCII的扩展,很多字符块 

随着Interact的出现和发展。越来越多的计算机行业意识到全球 

市场的熏要性,并且努力使自己的产品国际化。使之能很容易的处理 

各种语言的信息,如汉语,阿拉伯语等。但众多的编码体系使得国际化 

是一件很难的事情口i兰已经严重阻碍了Interact的发展。同时标准中没 

有包含汉语、日语和朝鲜语,阻碍了计算机在这些国家的发展和普及。 

因此人们需要一种比以前更灵活,更有效的全球统一的编码系统。在 

这种情况下。Unicode联盟于1988年开始着手开发一个统一的包含世 

界上大部分语种的国际通用字符集一Unicode。 

正是参考了单字节体系的内容,如U+128 ̄U+255和Latin一1的128 ̄ 

1.什么是Unicode 

255相同,U+256一U+283参考了Latin一2,Latin一3,Latin一4,Latin一5,去 

Unicode给每个字符提供了一个唯一的数字,不论是什么平台,不 除了Latin一1中已经包含的部分,称为Latin—Extend—A。 

论是什么程序,不论什么语言。Unicode标准已经被这些工业界的领导 

4.中文到Unicode的转换 

们所采用,例如:Apple,HP,IBM,Microsoft,Oracle,SAP。Sun,Sybase, 

在编写程序时,经常需要将文字变成Unicode转义序列,F面是 

pt实现的中文到Unicode的转换程序。 

Unisys和其它许多公司。最新的标准都需要Unicode。例如xML,Java, 

个用JavaScri

<HTML> 

ECMAScfipt(JavaScript),LDAP,CORBA 3.0,WML等等,并且。Unicode 

<HEAD> 

是实现ISO/IEC 10646的正规方式。许多操作系统,所有最新的浏览 

器和许多其他产品都支持它 Unicde标准的出现和支持它的工具的 o

<TITLE>中文到Unicodc的转换<厂rITLE> 

(/HEAD> 

存在,是近来全球软件技术最重要的发展趋势。 

<BODY> 

2.使用Unicode的意义 

<SCRIPT> 

基本上,计算机只是处理数字。它们指定一个数字,来储存字母或 

其他字符。在创造Unicodc之前,有数百种指定这些数字的编码系统。 

function output0 

没有一个编码可以包含足够的字符:例如,单欧洲共同体就需要好几 

{ 

test=document.form1.text.value; 

种不同的编码来包括所有的语言。即使是单一种语言,例如英语,也没 

str= 

有哪一个编码可以适用于所有的字母,标点符号,和常用的技术符号。 

这些编码系统也会互相冲突。也就是说。两种编码可能使用相同的数 

字代表两个不同的字符,或使用不同的数字代表相同的字符。任何一 

台特定的计算机(特别是服务器)都需要支持许多不同的编码,但是, 

不论什么时候数据通过不同的编码或平台之间,那些数据总会有损坏 

的危险。 

for(._O;i<test.1ength;i++) 

{ 

temp=test.charCodeAt(i).toStfing(16); 

str+=”、、u”+new Array(5-String(temp).1ength).join({))+temp; 

l (下转第2O页) 

21 

维普资讯

科技信.1I o计算机与信息技术o SCIENCE INFORMATION 2006年第3期 

阵列提供的两个(最多8个)2Gbps数据接口,分别接人到两台交换机 (上接第21页)document.form1.text1 value=str 

上,提供线路冗余和提高性能。这样的设计同时也为以后扩容作好了 

} 

充分准备。下一阶段,如果需要扩容,只需增加若干个EXP700扩展单 

(,SC砌PT> 

元(最多l6个),存储容量可以扩展到32TB以上,足以将图书馆的所 

</B0DY> 

有藏书的电子版都存储起来。其拓扑图如下: 

<FORM name=forml>请输入要转换的中文字符:<BR> 

4)方案特点 以上解决方案从学校的实际情况出发,同时考虑到 

<INPUT type=”text”nfllne ̄”text”size=”30”v ̄ue=””><BR> 

今后系统的升级问题,具有以下特点: ・ 

<INPUT namefbutton onclick=outputO type=button v ̄uem输出>< 

①数据安全性得到 充分的保障。所采用IBM FAStT700存储设 

BR>转换为Unicode代码的结果是:<BR> 

<INPUT type=”text”nsnle- ̄”textl”size=”3O” ><BR> 

备具有双热交换RAID控制器,能够提供高吞吐量和冗余,且每一个 

</FORM> 

控制器可支持1GB的电池后备高速缓存,从而减少了重要数据丢失 

(,}rrML> 

群 …Ptp ・卟{o{tb饿or{。n 

程序界面如图一所示: 

. .

g…, 

圈一 

例:若要将“中文字符”四个字转换为对应的Unieode代码,只要 

的风险。 

在第一个文本框中输入“中文字符”四个字,然后单击“输出”按钮。在 

②数据集中存储和管理。IBM FAStT700存储服务器是一个开放 

第二个文本框中就可以看到对应该的结果为 

的工具,允许从一个单一控制台管理多个FAStT700系统。可通过一 

“\u4e2d ̄6587 ̄u5b57 ̄u7b26”,即“中文字符”四个字对应的Unicode代 

个地点控制整个环境,以最佳方式使用内部资源,统一管理系统上的 

码分别为“4e2d”、“6587”、“5b57”和“7b26”(注:这里对应转换的代码 

用十六进制表示)。如图二所示。 

数据,提高了管理效率。 

⑧系统中的所有硬件设备都充分考虑到设备的安全性和可扩展 

性,整套系统可通过在线升级来满足客户的不同需求。 

(j4可通过改变硬件配置,网络连接方式提高网络性能。 

⑤可通过增加网络设备,存储设备来进一步增加网络容量,扩大 

SAN规模。 

4.结束语 

目前,采用FC构建SAN的成本仍然很高。但是。随着SAN技术 

的不断发展,我们可以期待从总体上节省投资,管理上更加科学方便。 

2002年6月12日,IEEE已正式通过万兆以太网标准802.3ae,在万兆 

以太网上,iSCSFS不仅能够满足存储设备的高速互联,在传输速度上 

圈二 

也能与FC抗衡。一旦iSCSI标准得到批准,其低廉、开放、标准等优势 

5.小结 

将得到充分的完善与发展,从而成为SAN领域一个充满活力的发展 

Unieode是统一的l6位元系统。这样就允许表示65,536个字元。 

方向。 

这对表示所有字元及世界上使用象形文字的语言。包括一系列的数 

学、符号和货币单位符号的集合来说是充裕的。Unieode的最大好处是 

参考文献 

这里只有一个字元集,没有一点含糊,可以很容易地在不同语言之间 

【llNlⅡ公司著,周兆确,叶青译.存储区域网概念与应用.北京:人民邮 

进行数据交换,提高应用程序的运行效率。通过一个简单的Java.%r_ipt 

电出版社。2002.6 

语言程序实现了中文到Uniedoe的转换,为程序员查询对应中文的 

【2]Chris Beauehamp(美)等著,清华开放网络存储实验室,清华诚志科 

Uniedoe代码带来了方便。l 

技发展有限公司译.使用Brocade光纤交换机建立SAN存储区域网.北 

’ 参考文献 

京:机械工业出版社,20o2.6 

【1】鹿文鹏,薛着娟.Uniedoe与UTF一8编码转换方法研究fJJ.计算机时 

【3]Marc Farley(美)著,孙功星,蒋文保,范勇,叶梅译.SAN存储区域网 代.2005.09 

络.北京:机械工业出版社,2002.4(第二版) 

【2】蒋曼芳,夏保琴,郭静.用多种语言实现短消息中的中文和Unieode 

【4】http://www一9OO.ibm.com/en/prdoucts/storage/prdouct/disk/ 

之间的转换【J】.广东自动化与信息工程.2005.02 

FAStT700 Iearnabout.shtm1 . 

【3】周志芳.VB的Unicode编码与中文处理【J】.中国金融电脑.2001.09 

【5】ttp://www.brocadeehina.com/prdoucts/hardpmd/silkworm_12000.jsp 

【4】屈鹏飞.JavaS,cript网页编程案例教程【M】.北京:清华大学出版社, 

【6】b'tp://www.adaptec.eom.cn/products/iscsi/what_is_iscsi.htm 

2oo2. 

【7】http://www.1nu.edu.en/library/ssreader.htm 

【5】胡恒,刘宇,吕游.Java.Script网页开发实例教程【M】.北京:机械工业 

出版社,2003. 

作者简介:男,1966.1.22,浙江东阳,深圳职业技术学院计算中心 

作者简介:邱发林(1978-),男,江西省宁都县人,昆明冶金高等 

工程师,1988年毕业于沈阳工业大学计算机应用专业,现为华南师范 

专科学枝计算机与信息工程系助教,云南大学2004级奎日制硕士,主 

大学计算机科学与应用专业在职研究生,主要研究方向为计算机网络 

要从事计算机教学和信息安全研究工作。 

技术。 


本文标签: 编码 字符 计算机