我对编码有点困惑。据我所知,旧的ASCII字符每个字符占用一个字节。Unicode字符需要多少字节?
我假设一个Unicode字符可以包含来自任何语言的所有可能的字符-我说的对吗?那么每个字符需要多少字节呢?
UTF-7、UTF-6、UTF-16等是什么意思?它们是不同版本的Unicode吗?
我读过Wikipedia article about Unicode,但它对我来说很难。我期待着看到一个简单的答案。
发布于 2016-08-27 20:18:10
在UTF-8中:
1 byte: 0 - 7F (ASCII)
2 bytes: 80 - 7FF (all European plus some Middle Eastern)
3 bytes: 800 - FFFF (multilingual plane incl. the top 1792 and private-use)
4 bytes: 10000 - 10FFFF
在UTF-16中:
2 bytes: 0 - D7FF (multilingual plane except the top 1792 and private-use )
4 bytes: D800 - 10FFFF
在UTF-32中:
4 bytes: 0 - 10FFFF
根据定义,10FFFF是最后一个unicode码点,之所以这样定义,是因为它是UTF-16的技术限制。
它也是UTF-8可以用4字节编码的最大码点,但UTF-8编码背后的思想也适用于5字节和6字节编码,以覆盖直到7FFFFFFF的码点。只有UTF-32的一半。
https://stackoverflow.com/questions/5290182
复制相似问题