Unicode与ASCII有何不同?

时间:2015-07-02 17:44:01

标签: unicode unicode-string

http://www.joelonsoftware.com/articles/Unicode.html。以下声明来自本文: “有些人误以为Unicode只是一个16位代码,每个字符占16位,因此有65,536个可能的字符。这实际上并不正确。这是关于Unicode的最常见的神话”。作者试图指出Unicode不仅仅是“具有更多字节的ASCII”(扩展的ASCII),Unicode还有更多,而不仅仅是它出现。但我不知道Unicode有何不同?对我而言,它显示为扩展的ASCII。

2 个答案:

答案 0 :(得分:2)

  

由于unicode有更多数字,它可以映射更多字符。

是的,就是这样。

ASCII字符集定义了高达127个数字,并指定了它们代表的字符,以及它们应如何序列化为字节序列。它说每个数字应编码为单个字节,故事结束。

Unicode有超过一百万个这样的数字,并指定了几种不同的方式可以将它们序列化为字节序列。

此外,Unicode的功能远远不止于此 - 例如,它不仅将整数映射到字符,还将字符映射到字形(字体中的图形符号),以及为每个字符描述各种元数据字符。但主要的是,Unicode定义了更大的代码空间,并将整数/字符映射与编码分开(因此,相同的整数可以编码为不同的字节序列,具体取决于您是编码为UTF-8,UTF-16还是UTF-32)

答案 1 :(得分:0)

Unicode为字符(和字符修饰符)分配唯一的整数。编码很多,但常见的编码是UTF-16和UTF-8,它们都是可变宽度编码。

ASCII是字符子集的1字节编码。