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

Vib*_*nha 6 unicode ascii character-encoding extended-ascii

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

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

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

我发现所有这些话都很混乱

Bal*_*usC 11

ASCII

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

扩展的ASCII和ISO 8859

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

统一

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

Unicode平面

Unicode字符分为17个平面,每个平面提供65536个字符(16位)的空间.

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

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

  • 我觉得最后一行意味着UTF-8只能处理BMP.UTF-8(以及UTF-16和-32)可以编码*all*的Unicode. (2认同)