我读过一篇关于文本编码的文章。它指的是说unicode字母是两个字节是一个神话。 它解释了这一点,但我的英语并不是很好理解原因。
请说,如果这是真的,原因可以解释这个事实吗?请尽可能保持简单的英语。
答案 0 :(得分:3)
根据unicode格式以及您希望表示的字符,它可能需要更多或更少。每个字符最多4个字节:
字符编码标准不仅定义了每个标识 字符及其数值或代码点,但也是如何 值以位表示。
Unicode标准定义了三种允许相同的编码形式 数据以字节,字或双字的格式传输 (即每个代码单元8,16或32位)。所有三种编码形式 编码相同的共同字符库并且可以有效地编码 在不丢失数据的情况下相互转换。 Unicode 联盟完全赞同使用任何这些编码形式作为 符合实施Unicode标准的方式。
UTF-8很受HTML和类似协议的欢迎。 UTF-8是一种方式 将所有Unicode字符转换为可变长度编码 字节。它的优点是Unicode字符对应 熟悉的ASCII集具有与ASCII相同的字节值 转换为UTF-8的Unicode字符可以使用很多 没有大量软件重写的现有软件。
UTF-16在许多需要平衡效率的环境中很受欢迎 经济地使用存储来访问角色。这是合情合理的 紧凑,所有使用频繁的字符都适合单个16位 代码单元,而所有其他字符都可以通过成对访问 16位代码单元。
UTF-32在没有内存空间但固定宽度的情况下非常有用, 需要单个代码单元访问字符。每个Unicode 使用UTF-32时,字符在单个32位代码单元中编码。
所有三种编码形式最多需要4个字节(或32位)的数据 每个角色。
答案 1 :(得分:3)
Windows和许多传统应用程序传统上使用16位(两个字节)来表示unicode字符,但实际标准是21位(0x000000到0x10ffff)。这就是为什么有这么多不同的编码(UTF-8等)的原因。今天,程序中最常见的unicode字符内部表示应该是UTF-32(32位,4字节),而大多数以UTF-8格式存储在磁盘上。
有关不同unicode编码方案的更多信息,请参阅此维基百科文章:http://en.wikipedia.org/wiki/Comparison_of_Unicode_encodings