ASCII 和扩展 ASCII 固有的困难是什么?Unicode 如何克服这些困难?
有人可以向我解释一下 unicode 兼容性吗?
与 Unicode 相关的术语,如平面、基本多语言平面 (BMP)、补充多语言平面 (SMP)、补充表意平面 (SIP)、补充特殊平面 (SSP) 和专用平面 (PUP) 的含义是什么。
我发现所有这些词都很令人困惑
ASCII
ASCII http://en.wikipedia.org/wiki/ASCII或多或少是有史以来第一个字符编码。在一个字节非常昂贵、1MHz 速度极快的时代,只有那些古老的计算机上出现的字符美国打字机 http://www.google.com/images?q=us%20typewriter(以及当今普通的美国国际键盘)均由 ASCII 字符编码的字符集覆盖。这包括完整的拉丁字母(A-Z,小写和大写形式)、数字(0-9)、词汇控制字符(空格、点、逗号、冒号等)和一些特殊字符(at 符号) 、尖号、美元符号等)。所有这些字符填满了 7 位空间,即一个字节提供的空间的一半,总共 128 个字符。
扩展 ASCII 和 ISO 8859
随后该字节的剩余位用于扩展 ASCII http://en.wikipedia.org/wiki/Extended_ascii总共可容纳 255 个字符。剩余的大部分空间被特殊字符使用,例如变音字符 http://en.wikipedia.org/wiki/Diacritic和线条画字符。但因为每个人都以自己的方式使用剩余的房间(IBM、Commodore、大学、组织等),它不可互换。最初使用编码 X 编码的字符将显示为Mojibake http://en.wikipedia.org/wiki/Mojibake当它们使用不同的编码 Y 进行解码时。后来 ISO 提出了 8 位 ASCII 扩展的标准字符编码定义,从而产生了已知的ISO 8859 http://en.wikipedia.org/wiki/ISO/IEC_8859基于 ASCII 之上的字符编码标准,例如 ISO 8859-1,因此它们具有更好的互换性。
Unicode
8位对于使用拉丁字母的语言来说可能已经足够了,但是对于世界上其余的非拉丁语言来说肯定是不够的,比如中文、日文、希伯来文、西里尔文、梵文、阿拉伯文等等,更不用说包含了他们all仅 8 位。他们开发了自己的非 ISO 字符编码这又是不可互换的,如国标、BIG5、JIS、KOI、MIK、TSCII等。最终建立了基于 ISO 8859-1 的新字符编码标准,以涵盖世界上使用的任何字符,以便它在任何地方都可以互换: Unicode http://en.wikipedia.org/wiki/Unicode。它提供了超过 100 万个字符的空间,目前其中约 10% 已被填充。这UTF-8 http://en.wikipedia.org/wiki/UTF-8字符编码基于 Unicode。
统一码平面
Unicode 字符分为十七类planes http://en.wikipedia.org/wiki/Unicode_plane,每个提供 65536 个字符(16 位)的空间。
- 平面 0:基本多语言平面 (BMP) http://en.wikipedia.org/wiki/Basic_Multilingual_Plane#Basic_Multilingual_Plane,它包含了世界上已知的所有现代语言的字符。
- 飞机 1:补充多语言飞机 (SMP) http://en.wikipedia.org/wiki/Supplementary_Multilingual_Plane#Supplementary_Multilingual_Plane,它包含历史语言/文字以及多语言音乐和数学符号。
- 飞机 2:补充具体平面 (SIP) http://en.wikipedia.org/wiki/Supplementary_Ideographic_Plane#Supplementary_Ideographic_Plane,它包含“特殊”CJK(中文/日文/韩文)字符,其中数量相当多,但在现代写作中很少使用。 “普通”CJK 字符已存在于 BMP 中。
- 飞机 3-13:unused.
- 14 号飞机:补充专机 (SSP) http://en.wikipedia.org/wiki/Supplementary_Special-purpose_Plane#Supplementary_Special-purpose_Plane,到目前为止它只包含一些标签字符和字形变体选择器。标签字符当前已弃用,将来可能会被删除。字形变体选择器将用作添加到现有字符的元数据,这反过来又可以指示读者为字符提供稍微不同的字形。
- 15-16 号飞机:私人飞机 (PUP) http://en.wikipedia.org/wiki/Private_Use_Area#Private_use_characters,它为(主要)组织或用户倡议在标准中包含自己的特殊字符或符号提供了空间,以便它在任何地方都可以互换。例如Emoji http://en.wikipedia.org/wiki/Emoji(日式笑脸/表情符号)。
通常,您只对 BMP 感兴趣,并在整个应用程序中使用 UTF-8 编码作为标准字符编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)