浅解Unicode与UTF-8

论坛 期权论坛     
选择匿名的用户   2021-5-28 02:20   19   0
<h3 style=""> </h3>
<h3 style="">Unicode和UCS</h3>
<p style="border:0px; font-family:arial,&#39;Hiragino Sans GB&#39;,&#39;Microsoft Yahei&#39;,微软雅黑,宋体,宋体,Tahoma,Arial,Helvetica,STHeiti; font-size:16px; margin-top:0px; margin-bottom:1.5em; outline:0px; padding-top:0px; padding-bottom:0px; vertical-align:baseline; color:rgb(64,64,64); line-height:24px"> 在上世纪80年代,世界上出现了两个独立的组织尝试创建单一字符集:</p>
<ul style="border:0px; font-family:arial,&#39;Hiragino Sans GB&#39;,&#39;Microsoft Yahei&#39;,微软雅黑,宋体,宋体,Tahoma,Arial,Helvetica,STHeiti; font-size:16px; margin:0px 0px 1.5em 3em; outline:0px; padding:0px; vertical-align:baseline; color:rgb(64,64,64); line-height:24px"><li style="border:0px; font-family:inherit; font-style:inherit; font-weight:inherit; margin:0px; outline:0px; padding:0px; vertical-align:baseline"> ISO(国际标准化组织)于1984年成立了ISO/IEC JTC1/SC2,制定了ISO 10646标准,其标准中定义的字符集便是UCS(Universal Character Set)。</li><li style="border:0px; font-family:inherit; font-style:inherit; font-weight:inherit; margin:0px; outline:0px; padding:0px; vertical-align:baseline"> Xerox、Apple等软件制造商于1988年组成The Unicode Consortium(Unicode联盟),这是一个统筹Unicode发展的组织,当然Unicode字符集也是出自这个组织。<br style=""> <span id="more-57" style="border:0px; font-family:inherit; font-style:inherit; font-weight:inherit; margin:0px; outline:0px; padding:0px; vertical-align:baseline"></span></li></ul>
<p style="border:0px; font-family:arial,&#39;Hiragino Sans GB&#39;,&#39;Microsoft Yahei&#39;,微软雅黑,宋体,宋体,Tahoma,Arial,Helvetica,STHeiti; font-size:16px; margin-top:0px; margin-bottom:1.5em; outline:0px; padding-top:0px; padding-bottom:0px; vertical-align:baseline; color:rgb(64,64,64); line-height:24px"> 1991年前后,两个项目的参与者都认识到,世界不需要两个不兼容的字符集。于是,它们开始合并双方的工作成果,并为创立一个单一编码表而协同工作。1991年,不包含CJK统一汉字集的Unicode 1.0发布。随后,CJK统一汉字集的制定于1993年完成,发布了ISO 10646-1:1993,即Unicode 1.1。</p>
<p style="border:0px; font-family:arial,&#39;Hiragino Sans GB&#39;,&#39;Microsoft Yahei&#39;,微软雅黑,宋体,宋体,Tahoma,Arial,Helvetica,STHeiti; font-size:16px; margin-top:0px; margin-bottom:1.5em; outline:0px; padding-top:0px; padding-bottom:0px; vertical-align:baseline; color:rgb(64,64,64); line-height:24px"> 从Unicode 2.0开始,Unicode采用了与ISO 10646-1相同的字库和字码;ISO也承诺,ISO 10646将不会替超出U&#43;10FFFF的UCS-4编码赋值,以使得两者保持一致。两个项目仍都独立存在,并独立地公布各自的标准。但Unicode联盟和ISO/IEC JTC1/SC2都同意保持两者标准的码表兼容,并紧密地共同调整任何未来的扩展。</p>
<p style="border:0px; font-family:arial,&#39;Hiragino Sans GB&#39;,&#39;Microsoft Yahei&#39;,微软雅黑,宋体,宋体,Tahoma,Arial,Helvetica,STHeiti; font-size:16px; margin-top:0px; margin-bottom:1.5em; outline:0px; padding-top:0px; padding-bottom:0px; vertical-align:baseline; color:rgb(64,64,64); line-height:24px"> <span style="border:0px; font-family:inherit; font-style:inherit; margin:0px; outline:0px; padding:0px; vertical-align:baseline">接下来介绍一下UCS:</span></p>
<p style="border:0px; font-family:arial,&#39;Hiragino Sans GB&#39;,&#39;Microsoft Yahei&#39;,微软雅黑,宋体,宋体,Tahoma,Arial,Helvetica,STHeiti; font-size:16px; margin-top:0px; margin-bottom:1.5em; outline:0px; padding-top:0px; padding-bottom:0px; vertical-align:baseline; color:rgb(64,64,64); line-height:24px"> UCS有两种格式:UCS-2和UCS-4。顾名思义,UCS-2就是用两个字节编码,UCS-4就是用4个字节(实际上只用了31位,最高位必须为0)编码。</p>
<p style="border:0px; font-family:arial,&#39;Hiragino Sans GB&#39;,&#39;Microsoft Yahei&#39;,微软雅黑,宋体,宋体,Tahoma,Arial,Helvetica,STHeiti; font-size:16px; margin-top:0px; margin-bottom:1.5em; outline:0px; padding-top:0px; padding-bottom:0px; vertical-align:baseline; color:rgb(64,64,64); line-height:24px"> 其中 UCS-2有2^16&#61;65536个码位,UCS-4有2^31&#61;2147483648个码位(大到绝对可以涵盖一切语言使用的符号,估计外星文字也可以包括^_^)。</p>
<p style="border:0px; font-family:arial,&#39;Hiragino Sans GB&#39;,&#39;Microsoft Yahei&#39;,微软雅黑,宋体,宋体,Tahoma,Arial,Helvetica,STHeiti; font-size:16px; margin-top:0px; margin-bottom:1.5em; outline:0px; padding-top:0px; padding-bottom:0px; vertical-align:baseline; color:rgb(64,64,64); line-height:24px"> UCS-4根据最高位为0的最高字节分成2^7&#61;128个group。每个group再根据次高字节分为256个plane。每个plane根据第3个字节分为256行 (rows),每行包含256个cells。其中group-0的plane-0被称作Basic Multilingual Plane(即BMP),所以UCS-4中,高两个字节为0的码位被称作BMP。</p>
<p style="border:0px; font-family:arial,&#39;Hiragino Sans GB&#39;,&#39;Microsoft Yahei&#39;,微软雅黑,宋体,宋体,Tahoma,Arial,Helvetica,STHeiti; font-size:16px
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP