ASCII和扩展ASCII以及Unicode兼容性固有的困难?

时间:2010-08-25 19:55:07

标签: unicode character-encoding ascii extended-ascii

ASCII和扩展ASCII固有的困难是什么以及Unicode如何克服这些困难?

有人可以解释一下unicode的兼容性吗?

与英特尔相关的术语如平面,基本多语言平面(BMP),基本多语言平面(SMP),补充表意平面(SIP),补充特殊平面(SSP)和私人使用平面(PUP)意味着什么。

我发现所有这些词语都很混乱

1 个答案:

答案 0 :(得分:11)

ASCII

ASCII少于或多于第一个字符编码。在字节非常昂贵并且1MHz非常快的时代,只有那些古代US typewriters(以及现在普通的美国国际键盘)上出现的字符被ASCII字符编码的字符集覆盖。 。这包括完整的拉丁字母(AZ,在小写和大写的味道),数字数字(0-9),词汇控制字符(空格,点,逗号,冒号等)和一些特殊字符(at符号) ,尖锐的标志,美元符号,等等)。所有这些字符填满了7位的空间,一个字节提供的空间的一半,总共128个字符。

扩展ASCII和ISO 8859

稍后该字节的剩余位用于Extended ASCII,这为总共255个字符提供了空间。大部分剩余房间由特殊字符使用,例如diacritical characters和线条绘制字符。但是因为每个人都以自己的方式使用剩余的房间(IBM,Commodore,大学,组织等),它不可互换。最初使用编码X编码的字符在使用不同的编码Y进行解码时将显示为Mojibake。后来ISO提出了8位ASCII扩展的标准字符编码定义,从而产生已知的{{3}基于ASCII顶部的字符编码标准,如ISO 8859-1,这样就可以更好地互换。

的Unicode

对于使用拉丁字母的语言来说,8位可能已经足够了,但对于世界上剩余的非拉丁语言来说,当然还不够,例如中文,日文,希伯来文,西里尔文,梵文,阿拉伯文等等。单独将它们所有仅包含在8位中。他们开发了自己的非ISO字符编码,它们是 - 不可互换的,例如国标,BIG5,JIS,KOI,MIK,TSCII等。最后,建立了一个基于ISO 8859-1顶部的新字符编码标准,以涵盖世界上使用的任何字符,以便可以在任何地方互换ISO 8859。它为超过一百万个字符提供了空间,目前大约有10%的字符被填充。 Unicode字符编码基于Unicode。

Unicode Planes

Unicode字符分为17 UTF-8,每个字符为65536个字符(16位)提供空间。

  • 飞机0:planes,它包含世界上已知的所有现代语言的字符。
  • 飞机1:Basic Multilingual Plane (BMP),它包含历史语言/脚本以及多语种音乐和数学符号。
  • 飞机2:Suplementary Multilingual Plane (SMP),它包含“特殊”CJK(中国/日本/韩国)字符,其中有很多,但在现代写作中很少使用。 BMP中已存在“普通”CJK字符。
  • 飞机3-13:未使用
  • Plane 14:Suplementary Ideographic Plane (SIP),只包含一些标记字符和字形变体选择器。标签字符目前已弃用,将来可能会被删除。字形变体选择器将用作您添加到现有字符的元数据类型,这反过来可以指示读者为角色提供略微不同的字形。
  • 飞机15-16:Supplementary Special Plane (SSP),它为(主要)组织或用户计划提供了空间,以便在标准中包含他们自己的特殊字符或符号,以便它可以在任何地方互换。例如Private Use Planes (PUP)(日式表情符号/表情符号)。

通常,您只对BMP感兴趣并在整个应用程序中使用UTF-8编码作为标准字符编码。