科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条
科技百科
  • 人气指数: 4551 次
  • 编辑次数: 1 次 历史版本
  • 更新时间: 2009-03-19
admin
admin
发短消息
相关词条
shopex
shopex
刘英武
刘英武
java表格控件
java表格控件
奇新CMS
奇新CMS
ICQ
ICQ
IRC
IRC
Evernote
Evernote
VMWARE
VMWARE
Helvetica字体设计灵感
Helvetica字体设计灵感
pagemaker
pagemaker
推荐词条
希拉里二度竞选
希拉里二度竞选
《互联网百科系列》
《互联网百科系列》
《黑客百科》
《黑客百科》
《网络舆情百科》
《网络舆情百科》
《网络治理百科》
《网络治理百科》
《硅谷百科》
《硅谷百科》
2017年特斯拉
2017年特斯拉
MIT黑客全纪录
MIT黑客全纪录
桑达尔·皮查伊
桑达尔·皮查伊
阿里双十一成交额
阿里双十一成交额
最新词条

热门标签

微博侠 数字营销2011年度总结 政务微博元年 2011微博十大事件 美国十大创业孵化器 盘点美国导师型创业孵化器 盘点导师型创业孵化器 TechStars 智能电视大战前夜 竞争型国企 公益型国企 2011央视经济年度人物 Rhianna Pratchett 莱恩娜·普莱契 Zynga与Facebook关系 Zynga盈利危机 2010年手机社交游戏行业分析报告 游戏奖励 主流手机游戏公司运营表现 主流手机游戏公司运营对比数据 创建游戏原型 正反馈现象 易用性设计增强游戏体验 易用性设计 《The Sims Social》社交亮 心理生理学与游戏 Kixeye Storm8 Storm8公司 女性玩家营销策略 休闲游戏的创新性 游戏运营的数据分析 社交游戏分析学常见术语 游戏运营数据解析 iPad风行美国校园 iPad终结传统教科书 游戏平衡性 成长类型及情感元素 鸿蒙国际 云骗钱 2011年政务微博报告 《2011年政务微博报告》 方正产业图谱 方正改制考 通信企业属公益型国企 善用玩家作弊行为 手机游戏传播 每用户平均收入 ARPU值 ARPU 游戏授权三面观 游戏设计所运用的化学原理 iOS应用人性化界面设计原则 硬核游戏 硬核社交游戏 生物测量法研究玩家 全球移动用户 用户研究三部曲 Tagged转型故事 Tagged Instagram火爆的3大原因 全球第四大社交网络Badoo Badoo 2011年最迅猛的20大创业公司 病毒式传播功能支持的游戏设计 病毒式传播功能 美国社交游戏虚拟商品收益 Flipboard改变阅读 盘点10大最难iPhone游戏 移动应用设计7大主流趋势 成功的设计文件十个要点 游戏设计文件 应用内置付费功能 内置付费功能 IAP功能 IAP IAP模式 游戏易用性测试 生理心理游戏评估 游戏化游戏 全美社交游戏规模 美国社交游戏市场 全球平板电脑出货量 Facebook虚拟商品收益 Facebook全球广告营收 Facebook广告营收 失败游戏设计的数宗罪名 休闲游戏设计要点 玩游戏可提高认知能力 玩游戏与认知能力 全球游戏广告 独立开发者提高工作效率的100个要点 Facebook亚洲用户 免费游戏的10种创收模式 人类大脑可下载 2012年最值得期待的20位硅谷企业家 做空中概股的幕后黑手 做空中概股幕后黑手 苹果2013营收 Playfish社交游戏架构

 UNICODE

计算机科学领域中,Unicode统一码万国码单一码标准万国码)是业界的一种标准,它可以使电脑得以呈现世界上数十种文字的系统。Unicode 是基于通用字符集(Universal Character Set)的标准来发展,并且同时也以书本的形式(The Unicode Standard,目前第五版由Addison-Wesley Professional出版,ISBN-10: 0321480910)对外发表。Unicode 包含了超过十万个字符(在西元 2005 年, Unicode 的第十万个字符被采纳且认可成为标准之一)、一组可用以作为视觉参考的代码图表、一套编码方法与一组标准字符编码、一套包含了上标字、下标字等字符特性的列举等。Unicode 在字符集认可的成功,使其得以在电脑软件的国际化与本地化领域中,广泛且具优势的被采用。这标准已在近年来的多种新科技当中被加以采用,包含了可扩展置标语言(XML)、Java编程语言、以及最新的操作系统中。

目录

[显示全部]

历史编辑本段回目录

UNICODE
UNICODE
 Unicode 是由于传统的字符编码方式的局限性而产生的,例如 ISO 8859 所定义的字符虽然在不同的国家中广泛地使用,可是在不同国家间却经常出现不相容的情况。很多传统的编码方式都具有一个共通的问题,即其容许电脑进行双语环境式的处理(通常使用拉丁字母以及其本地语言),但却无法同时支援多语言环境式的处理(指可同时处理混合多种语言的情况)。

Unicode 试图将字位(字素,graphemes)与类字位字符加以认定与编码,而非以不同的字形(glyphs)来加以区分。然而在汉字的个案来看,这样方式有时会引起一字多形的认定争议(详见中日韩统一表意文字主题)。

在文字处理方面, Unicode 的功用是为每一个字符提供一个唯一的代码(即一组数字),而不是一种字形。换句话说, Unicode 是将字符以一种抽象的方式来呈现,而将视觉上的演绎工作(例如字体大小、外观形状、字体形态、文体等)留给其他软件来处理,例如网页浏览器或是文字处理器。

为了使 Unicode 与已存在和广泛使用的旧有编码互相兼容,尤其是差不多所有电脑系统都支援的基本拉丁字母部分,所以 Unicode 的首 256 字符仍旧保留给 ISO 8859-1 所定义的字符,使既有的西欧语系文字的转换不需特别考量;另方面因相同的原因,Unicode 把大量相同的字符重复编到不同的字符码中去,使得旧有纷杂的编码方式得以和 Unicode 编码间互相直接转换,而不会遗失任何资讯。举例来说,全角格式区段包含了主要的拉丁字母的全角格式,在中文、日文、以及韩文字形当中,这些字符以全角的方式来呈现,而不以常见的半角形式显示,这对竖排文字和等宽排列文字有重要作用。

在表达一个 Unicode 的字符时,通常会用“U ”然后紧接着一组十六进制的数字来表示这一个字符。在基本多文种平面(Basic Multilingual Plane,简称 BMP)里的所有字符,只要使用四位十六进制数(例如 U 4AE0,共支持六万多个字符)来表示,但在 BMP 以外的字符则需要使用五位或六位十六进制数了。旧版的 Unicode 标准使用相近的标记方法,但却有些微的差异,例如在 Unicode 3.0 里使用“U-”然后紧接着八位数,而“U ”则必须随后紧接着四位数,以表示仅限于代表一个字符单位(code unit),而非字符(code point)。

标准:位于美国加州的 Unicode 组织允许任何愿意支付会员费用的公司或是个人加入,其成员包含了主要的电脑软硬件厂商,例如奥多比系统(Adobe Systems)、苹果公司(Apple)、惠普(HP)、IBM微软(Microsoft)、全录(Xerox)等。

Unicode 组织在 1991 年首次发布了 The Unicode StandardISBN 0-321-18578-1)。 Unicode 的开发结合了国际标准化组织(International Organization for Standardization,简称 ISO )所制定的ISO/IEC 10646,即通用字符集(Universal Character Set,简称 UCS )。Unicode 与 ISO/IEC 10646 在编码的运作原理相同,但 The Unicode Standard 包含了更详尽的实现资讯、涵盖了更细节的主题,诸如字符编码(bitwise encoding)、校对以及呈现等。 The Unicode Standard 也列举了诸多的字符特性,包含了那些必须支援双方向呈现的文字(由左至右或由右至左的文字呈现方向,例如阿拉伯文是由右至左)。 Unicode 与 ISO/IEC 10646 两个标准在术语上的使用有些微的不同。

在西元 2005 年, Unicode 的第十万个字符被输入成为标准之一,其为马来亚拉姆语(Malayalam,印度西南部沿海居民的语言)的 Praslesham(?????????)。

Unicode 截至目前为止历次的版次与发布时间如下:
Unicode 1.0:1991年十月
Unicode 1.0.1:1992年六月
Unicode 1.1:1993年六月
Unicode 2.0:1997年七月
Unicode 2.1:1998年五月
Unicode 2.1.2:1998年五月
Unicode 3.0:1999年九月;涵盖了来自ISO 10646-1的十六位元通用字符集(UCS)基本多文种平面(Bsic Multilingual Plane)
Unicode 3.1:2001年三月;新增从ISO 10646-2定义的辅助平面(Supplementary Planes)
Unicode 3.2:2002年三月
Unicode 4.0:2003年四月
Unicode 4.0.1:2004年三月
Unicode 4.1:2005年三月
Unicode 5.0:2006年七月
Unicode 5.1:2008年四月。

编码和实现编辑本段回目录

UNICODE
UNICODE
大概来说,Unicode 编码系统可分为编码方式和实现方式两个层次。

编码方式:Unicode 的编码方式与 ISO 10646通用字符集(Universal Character Set,UCS)概念相对应,目前实际应用的 Unicode 版本对应于 UCS-2,使用16的编码空间。也就是每个字符占用2个字节。这样理论上一共最多可以表示 216 即 65536 个字符。基本满足各种语言的使用。实际上目前版本的 Unicode 尚未填充满这16位编码,保留了大量空间作为特殊使用或将来扩展。

上述16位 Unicode 字符构成基本多文种平面(Basic Multilingual Plane, 简称 BMP)。最新(但未实际广泛使用)的 Unicode 版本定义了16个辅助平面,两者合起来至少需要占据21位的编码空间,比3字节略少。但事实上辅助平面字符仍然占用4字节编码空间,与 UCS-4 保持一致。未来版本会扩充到 ISO 10646-1 实现级别3,即涵盖 UCS-4 的所有字符。UCS-4 是一个更大的尚未填充完全的31位字符集,加上恒为0的首位,共需占据32位,即4字节。理论上最多能表示 231 个字符,完全可以涵盖一切语言所用的符号。

BMP 字符的 Unicode 编码表示为 U hhhh,其中每个 h 代表一个十六进制数位。与 UCS-2 编码完全相同。对应的4字节 UCS-4 编码后两个字节一致,前两个字节的所有位均为0。

关于 Unicode 和 ISO 10646 及 UCS 的详细关系 ,请参看通用字符集

实现方式:Unicode 的实现方式不同于编码方式。一个字符的 Unicode 编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对 Unicode 编码的实现方式有所不同。Unicode 的实现方式称为Unicode转换格式(Unicode Translation Format,简称为 UTF)。

UNICODE
UNICODE
例如,如果一个仅包含基本7位ASCII字符的 Unicode 文件,如果每个字符都使用2字节的原 Unicode 编码传输,其第一字节的8位始终为0。这就造成了比较大的浪费。对于这种情况,可以使用 UTF-8 编码,这是一种变长编码,它将基本7位ASCII字符仍用7位编码表示,占用一个字节(首位补0)。而遇到与其他 Unicode 字符混合的情况,将按一定算法转换,每个字符使用1-3个字节编码,并利用首位为0或1进行识别。这样对以7位ASCII字符为主的西文文档就大大节省了编码长度(具体方案参见UTF-8)。类似的,对未来会出现的需要4个字节的辅助平面字符和其他 UCS-4 扩充字符,2字节编码的 UTF-16 也需要通过一定的算法进行转换。

再如,如果直接使用与 Unicode 编码一致(仅限于 BMP 字符)的 UTF-16 编码,由于每个字符占用了两个字节,在Macintosh机和PC机上,对字节顺序的理解是不一致的。这时同一字节流可能会被解释为不同内容,如编码为 U 594E 的字符“奎”同编码为 U 4E59 的“乙”就可能发生混淆。于是在 UTF-16 编码实现方式中使用了大尾序(big-endian)、小尾序(little-endian)的概念,以及BOM(Byte Order Mark)解决方案。(具体方案参见UTF-16

此外 Unicode 的实现方式还包括 UTF-7PunycodeCESU-8SCSUUTF-32等,这些实现方式有些仅在一定的国家和地区使用,有些则属于未来的规划方式。目前通用的实现方式是 UTF-16小尾序(BOM)、UTF-16大尾序(BOM)和 UTF-8。在微软公司Windows XP操作系统附带的记事本中,“另存为”对话框可以选择的四种编码方式除去非 Unicode 编码的 ANSI 外,其余三种“Unicode”、“Unicode big endian”和“UTF-8”即分别对应这三种实现方式。

目前辅助平面的工作主要集中在第二和第三平面的中日韩统一表意文字中,因此包括GBKGB18030Big5简体中文繁体中文日文韩文以及越南喃字的各种编码与 Unicode 的协调性被重点关注。考虑到 Unicode 最终要涵盖所有的字符,从某种意义而言,这些编码方式也可视作 Unicode 的出现于其之前的既成事实的实现方式,如同ASCII及其扩展Latin-1一样,后两者的字符在16位 Unicode 编码空间中的编码第一字节各位全为0,第二字节编码与原编码完全一致。但上述东亚语言编码与 Unicode 编码的对应关系要复杂得多。

编码方式编辑本段回目录

 UNICODE
Unicode 的编码方式与 ISO 10646通用字符集(Universal Character Set,UCS)概念相对应,目前实际应用的 Unicode 版本对应于 UCS-2,使用16的编码空间。也就是每个字符占用2个字节。这样理论上一共最多可以表示 216 即 65536 个字符。基本满足各种语言的使用。实际上目前版本的 Unicode 尚未填充满这16位编码,保留了大量空间作为特殊使用或将来扩展。

上述16位 Unicode 字符构成基本多文种平面(Basic Multilingual Plane, 简称 BMP)。最新(但未实际广泛使用)的 Unicode 版本定义了16个辅助平面,两者合起来至少需要占据21位的编码空间,比3字节略少。但事实上辅助平面字符仍然占用4字节编码空间,与 UCS-4 保持一致。未来版本会扩充到 ISO 10646-1 实现级别3,即涵盖 UCS-4 的所有字符。UCS-4 是一个更大的尚未填充完全的31位字符集,加上恒为0的首位,共需占据32位,即4字节。理论上最多能表示 231 个字符,完全可以涵盖一切语言所用的符号。

BMP 字符的 Unicode 编码表示为 U+hhhh,其中每个 h 代表一个十六进制数位。与 UCS-2 编码完全相同。对应的4字节 UCS-4 编码后两个字节一致,前两个字节的所有位均为0。

非 Unicode 环境编辑本段回目录

在非 Unicode 环境下,由于不同国家和地区采用的字符集不一致,很可能出现无法正常显示所有字符的情况。微软公司使用了代码页(Codepage)转换表的技术来过渡性的部分解决这一问题,即通过指定的转换表将非 Unicode 的字符编码转换为同一字符对应的系统内部使用的 Unicode 编码。可以在“语言与区域设置”中选择一个代码页作为非 Unicode 编码所采用的默认编码方式,如936为简体中文GBK,950为正体中文Big5(皆指PC上使用的)。在这种情况下,一些非英语的欧洲语言编写的软件和文档很可能出现乱码。而将代码页设置为相应语言中文处理又会出现问题,这一情况无法避免。从根本上说,完全采用统一编码才是解决之道,但目前尚无法做到这一点。

代码页技术现在广泛为各种平台所采用。UTF-7 的代码页是65000,UTF-8 的代码页是65001。

XML与Unicode编辑本段回目录

UNICODEXML
XML
XML及其子集HTML采用UTF-8作为标准字集,理论上我们可以在各种支持XML标准的浏览器上显示任何地区文字的网页,只要电脑本身安装有合适的字体即可。可以利用&#nnn;的格式显示特定的字符。nnn代表该字符的十进制 Unicode 代码。如果采用十六进制代码,在编码之前加上x字符即可。但部分旧版本的浏览器可能无法识别十六进制代码。

过去电脑编码的8位标准,使每个国家都只按国家使用的字符而编定各自的编码系统;而对于部份字符系统比较复杂的语言,如越南语,又或者东亚国家的大型字符集,都不能在8位的环境下好好显示。连自己的语言也未必可以好好显示的话,就更惶论显示其他国家的文字了。然而,现在于HTML和XML,我们可以利用&#nnn;的格式显示特定的字符。nnn代表该字符的十进位Unicode代码。如果想采用十六进位代码的话,要在编码之前加上x字符。

只是最近才有在文本中对十六进制的支持,那么旧版本的浏览器显示那些字符或许可能有问题-大概首先会遇到的一个问题只是在对于大于8位Unicode字符的显示。解决这个问题的普遍做法仍然是将其中的十六进制码转换成一个十进制码(例如:用?代替?)。

也有一些字符集标准将一些常用的标志存放在字符内码外面,那么你可能使用象这样的文本标志来表示一个长划(—)的情况,即使它的字符内码已经被使用,这些标准也不包含那个字符。

然而部分由于Unicode版本发展原因,很多浏览器只能显示UCS-2完整字符集,也即现在使用的Unicode版本中的一个小子集。下表可以检验您的浏览器怎样显示各种各样的Unicode代码:

 代码  字符标准名称 (英语)  在浏览器上的显示
 A  大写拉丁字母"A"  A
 ?  小写拉丁字母"Sharp S"  ?
 ?  小写拉丁字母"Thorn"  ?
 Δ  大写希腊字母"Delta"  Δ
 Й  大写斯拉夫字母"Short I"  Й
? 希伯来字母"Qof" ?
? 阿拉伯字母 "Meem" ?
? 泰文数字 7 ?
? 埃塞俄比亚音节文字"Qha" ?
日语平假名 "A"
   日语片假名 "A"  ア
简体汉字 "叶"
正体汉字 "葉"
? 韩国音节文字 " Yeob" ?

一些多语言支持的网页浏览器,比如微软Windows系统的Internet Explorer5.5,以及跨平台的浏览器 Mozilla/Netscape6,可以在安装时根据需要动态地使用相应的字符集,预先安装了合适的语言包,就可以同时显示页面上的各种Unicode字符。MSIE 5.5还提出用户可以在需要新字体时,即装即用。另外的浏览器如Netscape Navigator4.77,则只能显示跟页面编码相应字符集中的文字。当你使用后一种浏览器时,你不大可能预先安装所有的字体,即使有了字体,浏览器也不一定能将这些字体完全应用起来。可能遇到的情况是,这种浏览器只能够显示部分文字,因为它们是按照标准进行编码,尽管理论上在兼容的系统中,只要有了相应的字体,就可以正确显示。一种变通的办法,是将某些少见的字符,通过“名称实体引用”的方式来使用。

输入编辑本段回目录

UNICODEMicrosoft Word
Microsoft Word
除了输入法外,操作系统会提供几种方法输入Unicode。像是Windows 2000之后的Windows系统就提供一个可点击的表。例如在Microsoft Word之下,按下 Alt 键不放,输入 0 和某个字符的 Unicode 编码(十进制),再松开 Alt 键即可得到该字符,如Alt + 033865会得到Unicode字符。另外按Alt + X 组合键,MS Word 也会将光标前面的字符同其十六进制的四位 Unicode 编码进行互相转换。 若前述输入Unicode的方法无法奏效的使用者,您可以考虑安装微软公司(Microsoft)所提供的“新注音输入法”或“新仓颉输入法”,在输入状态下按“`”+“u”,再输入Unicode十六进制字码值即可顺利于Windows环境缮打。如日文“あ”Unicode十六进制值为3042,HTML中以“あ”表示为十进制,所以按“`”+“u”后输入12354是不会得到日文“あ”字,另外必须注意,输入数字时请利用键盘最上方数字,勿用右侧数字键。

汉字问题编辑本段回目录

Unicode的汉字处理方法一直备受抨击。有指这种把数万汉字逐一编码的方式,非常浪费资源,要把汉字加到Unicode标准中也不容易。也有批评处理Unicode中汉字编码的专家,并不是真正研究汉字的学者。从早期的中文电脑时期开始,已有研究以部件产生汉字(动态组字),取代汉字逐一编码方法,其中以朱邦复汉字基因工程成效最丰。

编码表编辑本段回目录

 Unicode 编码表        
 0000-0FFF  8000-8FFF  10000-10FFF  20000-20FFF  28000-28FFF
 1000-1FFF  9000-9FFF    21000-21FFF  29000-29FFF
 2000-2FFF  A000-AFFF    22000-22FFF  2A000-2AFFF
 3000-3FFF  B000-BFFF    23000-23FFF  
 4000-4FFF  C000-CFFF  1D000-1DFFF  24000-24FFF  2F000-2FFFF
 5000-5FFF  D000-DFFF    25000-25FFF  
 6000-6FFF  E000-EFFF    26000-26FFF  
7000-7FFF F000-FFFF 27000-27FFF

E0000-E0FFF

相关条目编辑本段回目录

 

参考资料编辑本段回目录

DecodeUnicode - Unicode,提供Unicode 5.0全部98,884个字的GIF字型预览
Unicode official site,官方网站

→如果您认为本词条还有待完善,请 编辑词条

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

标签: UNICODE

收藏到: Favorites  

同义词: 暂无同义词

关于本词条的评论 (共0条)发表评论>>

对词条发表评论

评论长度最大为200个字符。