📄 unicode_百度百科.htm
字号:
href="http://baike.baidu.com/view/263416.htm"
target=_blank>字符</A>编码。它为每种<A href="http://baike.baidu.com/view/9793.htm"
target=_blank>语言</A>中的每个字符设定了统一并且唯一的<A
href="http://baike.baidu.com/view/18536.htm"
target=_blank>二进制</A>编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,<B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>也在面世以来的十多年里得到普及。<BR><BR>2006年<A
href="http://baike.baidu.com/view/401984.htm" target=_blank>6月</A>的最新版本的
<B style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> 是 2005年<A
href="http://baike.baidu.com/view/477558.htm" target=_blank>3月31日</A>推出的<B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> 4.1.0 。另外,5.0
Beta已于2005年12月12日推出,以供各会员评价。<BR><BR><B>
<DIV class=titord><SPAN class=t1><A name=1></A><B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
的编码和实现</SPAN></DIV></B><BR>大概来说,<B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> 编码系统可分为<A
href="http://baike.baidu.com/view/1084820.htm"
target=_blank>编码方式</A>和实现方式两个层次。<BR><BR>1.<B>编码方式</B><BR><BR><B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> 的编码方式与 <A
href="http://baike.baidu.com/view/758572.htm" target=_blank>ISO 10646</A>
的<A href="http://baike.baidu.com/view/354447.htm"
target=_blank>通用字元集</A>(亦称[通用字符集])(Universal Character
Set,UCS)概念相对应,目前的用于实用的 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> 版本对应于
UCS-2,使用16位的编码空间。也就是每个字符占用2个<A
href="http://baike.baidu.com/view/60408.htm"
target=_blank>字节</A>。这样理论上一共最多可以表示 65,536(2的16次方) 个字符。基本满足各种语言的使用。实际上目前版本的
<B style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
尚未填充满这16位编码,保留了大量空间作为特殊使用或将来扩展。<BR><BR>上述16位 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
字符构成基本多文种平面(Basic Multilingual Plane, 简称 <A
href="http://baike.baidu.com/view/7671.htm"
target=_blank>BMP</A>)。最新(但未实际广泛使用)的 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
版本定义了16个辅助平面,两者合起来至少需要占据21位的编码空间,比3字节略少。但事实上辅助平面字符仍然占用4字节编码空间,与 UCS-4
保持一致。未来版本会扩充到 <A href="http://baike.baidu.com/view/1007.htm"
target=_blank>ISO</A> 10646-1 实现级别3,即涵盖 UCS-4 的所有字符。UCS-4
是一个更大的尚未填充完全的31位字符集,加上恒为0的首位,共需占据32位,即4字节。理论上最多能表示
2,147,483,648(2的31次方)个字符,完全可以涵盖一切语言所用的符号。<BR><BR>BMP 字符的 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> 编码表示为
U+hhhh,其中每个 h 代表一个<A href="http://baike.baidu.com/view/230306.htm"
target=_blank>十六进制</A>数位。与 UCS-2 编码完全相同。对应的4字节 UCS-4
编码后两个字节一致,前两个字节的所有位均为0。<BR><BR>2.<B>实现方式</B><BR><BR><B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
的实现方式不同于编码方式。一个字符的 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> 编码的实现方式有所不同。<B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> 的实现方式称为<B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>转换格式(<B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> Translation
Format,简称为 <A href="http://baike.baidu.com/view/952329.htm"
target=_blank>UTF</A>)。<BR><BR>例如,如果一个仅包含基本7位<A
href="http://baike.baidu.com/view/15482.htm" target=_blank>ASCII</A>字符的 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
文件,如果每个字符都使用2字节的原 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
编码传输,其第一字节的8位始终为0。这就造成了比较大的浪费。对于这种情况,可以使用 UTF-8
编码,这是一种变长编码,它将基本7位ASCII字符仍用7位编码表示,占用一个字节(首位补0)。而遇到与其他 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
字符混合的情况,将按一定算法转换,每个字符使用1-3个字节编码,并利用首位为0或1进行识别。这样对以7位ASCII字符为主的西文文档就大大节省了编码长度(具体方案参见UTF-8)。类似的,对未来会出现的需要4个字节的辅助平面字符和其他
UCS-4 扩充字符,2字节编码的 UTF-16 也需要通过一定的算法进行转换。<BR><BR>再如,如果直接使用与 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> 编码一致(仅限于 BMP
字符)的 UTF-16 编码,由于每个址都不相同,<A href="http://baike.baidu.com/view/455985.htm"
target=_blank>Macintosh</A>机和<A
href="http://baike.baidu.com/view/13621.htm"
target=_blank>PC</A>机上对字节顺序的理解是不一致的。这时同一字节流可能会被解释为不同内容,如编码为 U+594E
的字符“奎”同编码为 U+4E59 的“乙”就可能发生混淆。于是在 UTF-16
编码实现方式中使用了大尾序(big-endian)、小尾序(little-endian)的概念,以及BOM(Byte Order
Mark)解决方案。(具体方案参见UTF-16)<BR><BR>此外 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> 的实现方式还包括
UTF-7、Punycode、CESU-8、SCSU、UTF-32等,这些实现方式有些仅在一定的国家和地区使用,有些则属于未来的规划方式。目前通用的实现方式是
UTF-16小尾序(BOM)、UTF-16大尾序(BOM)和 UTF-8。在微软公司Windows
XP操作系统附带的记事本中,“另存为”对话框可以选择的四种编码方式除去非 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> 编码的 ANSI
外,其余三种“<B style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>”、“<B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B> big
endian”和“UTF-8”即分别对应这三种实现方式。<BR><BR>目前辅助平面的工作主要集中在第二和第三平面的中日韩统一表意文字中,因此包括<A
href="http://baike.baidu.com/view/25421.htm"
target=_blank>GBK</A>、GB18030、<A
href="http://baike.baidu.com/view/98718.htm"
target=_blank>Big5</A>等简体中文、正体<A
href="http://baike.baidu.com/view/48682.htm" target=_blank>中文</A>、<A
href="http://baike.baidu.com/view/191385.htm" target=_blank>日文</A>、<A
href="http://baike.baidu.com/view/18922.htm" target=_blank>韩语</A>以及<A
href="http://baike.baidu.com/view/476302.htm" target=_blank>越南字喃</A>的各种编码与
<B style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
的协调性被重点关注。考虑到 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
最终要涵盖所有的字符,从某种意义而言,这些编码方式也可视作 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
的出现于其之前的既成事实的实现方式,如同ASCII及其扩展Latin-1一样,后两者的字符在16位 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
编码空间中的编码第一字节各位全为0,第二字节编码与原编码完全一致。但上述东亚语言编码与 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
编码的对应关系要复杂得多。<BR><BR><B>
<DIV class=titord><SPAN class=arr><A title=返回页首
href="http://baike.baidu.com/view/40801.htm#"></A></SPAN><SPAN class=t1><A
name=2></A>非 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
环境</SPAN></DIV></B><BR>在非 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
环境下,由于不同国家和地区采用的字符集不一致,很可能出现无法正常显示所有字符的情况。<A
href="http://baike.baidu.com/view/2353.htm"
target=_blank>微软</A>公司使用了代码页(Codepage)转换表的技术来过渡性的部分解决这一问题,即通过指定的转换表将非 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
的字符编码转换为同一字符对应的系统内部使用的 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
编码。可以在“语言与区域设置”中选择一个代码页作为非 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
编码所采用的默认编码方式,如936为简体中文GBK,950为正体中文Big5(皆指PC上使用的)。在这种情况下,一些非英语的欧洲语言编写的软件和文档很可能出现乱码。而将代码页设置为相应语言中文处理又会出现问题,这一情况无法避免。从根本上说,完全采用统一编码才是解决之道,但目前上无法做到这一点。<BR><BR>代码页技术现在广泛为各种平台所采用。UTF-7
的代码页是65000,UTF-8 的代码页是65001。<BR><BR><B>
<DIV class=titord><SPAN class=arr><A title=返回页首
href="http://baike.baidu.com/view/40801.htm#"></A></SPAN><SPAN class=t1><A
name=3></A>XML 和 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B></SPAN></DIV></B><BR><BR><A
href="http://baike.baidu.com/view/63.htm" target=_blank>XML</A>及其子集<A
href="http://baike.baidu.com/view/692.htm"
target=_blank>HTML</A>采用UTF-8作为标准字集,理论上我们可以在各种支持XML标准的<A
href="http://baike.baidu.com/view/7718.htm"
target=_blank>浏览器</A>上显示任何地区文字的<A
href="http://baike.baidu.com/view/828.htm" target=_blank>网页</A>,只要<A
href="http://baike.baidu.com/view/2358.htm"
target=_blank>电脑</A>本身安装有合适的字体即可。可以利用&#nnn;的格式显示特定的字符。nnn代表该字符的十进制 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
代码。如果采用十六进制代码,在编码之前加上x字符即可。但部分旧版本的浏览器可能无法识别十六进制代码。<BR><BR>然而部分由于 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
版本发展原因,很多浏览器只能显示 UCS-2 完整字符集也即现在使用的 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
版本中的一个小子集。下表可以检验您的浏览器怎样显示各种各样的 <B
style="COLOR: black; BACKGROUND-COLOR: #ffff66">Unicode</B>
代码:<BR><BR>代码 字符标准名称
(英语) 在浏览器上的显示
<BR><BR>A
大写拉丁字母"A"
A <BR><BR>&szlig;
小写<A
href="http://baike.baidu.com/view/107325.htm" target=_blank>拉丁字母</A>"Sharp
S" &szlig;
<BR><BR>&thorn;
小写<A href="http://baike.baidu.com/view/38715.htm"
target=_blank>拉丁</A><A href="http://baike.baidu.com/view/94782.htm"
target=_blank>字母</A>"Thorn"
&thorn; <BR><BR>Δ
大写<A href="http://baike.baidu.com/view/6744.htm"
target=_blank>希腊</A>字母"Delta"
Δ <BR><BR>Й
大写<A
href="http://baike.baidu.com/view/253815.htm"
target=_blank>斯拉夫</A>字母"Short I"
Й <BR><BR>ק
<A href="http://baike.baidu.com/view/176645.htm"
target=_blank>希伯来</A>字母"Qof"
ק
<BR><BR>م <A
href="http://baike.baidu.com/view/96268.htm" target=_blank>阿拉伯</A>字母
"Meem"
م
<BR><BR>๗ 泰文数字 7
๗ <BR><BR>ቐ
<A
href="http://baike.baidu.com/view/11274.htm"
target=_blank>埃塞俄比亚</A>音节文字"Qha"
ቐ <BR><BR>あ
<A
href="http://baike.baidu.com/view/20584.htm" target=_blank>日语</A><A
href="http://baike.baidu.com/view/489512.htm" target=_blank>平假名</A>
"A"
あ <BR><BR>ア
日语<A href="http://baike.baidu.com/view/62454.htm"
target=_blank>片假名</A> "A"
ア <BR><BR>叶
简体<A
href="http://baike.baidu.com/view/1712.htm" target=_blank>汉字</A> "叶"
叶 <BR><BR>叶
<A
href="http://baike.baidu.com/view/143053.htm" target=_blank>繁体</A>汉字
"叶"
叶 <BR><BR>엽
<A
href="http://baike.baidu.com/view/3299.htm" target=_blank>韩国</A>音节文字 "
Yeob"
엽 <BR><BR><B>
<DIV class=titord><SPAN class=arr><A title=返回页首
href="http://baike.baidu.com/view/40801.htm#"></A></SPAN><SPAN class=t1><A
name=4></A>输入<B
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -