我对编码有点困惑。据我所知,旧的 ASCII 字符每个字符占用一个字节。一个 Unicode 字符需要多少字节?
我假设一个 Unicode 字符可以包含任何语言中的所有可能的字符 - 我是对的吗?那么每个字符需要多少字节呢?
UTF-7、UTF-6、UTF-16 等是什么意思?它们是不同版本的 Unicode 吗?
我读了Wikipedia article about Unicode但这对我来说相当困难。我期待看到一个简单的答案。
最佳答案
奇怪的是,没有人指出如何计算一个 Unicode 字符占用了多少字节。以下是 UTF-8 编码字符串的规则:
Binary Hex Comments
0xxxxxxx 0x00..0x7F Only byte of a 1-byte character encoding
10xxxxxx 0x80..0xBF Continuation byte: one of 1-3 bytes following the first
110xxxxx 0xC0..0xDF First byte of a 2-byte character encoding
1110xxxx 0xE0..0xEF First byte of a 3-byte character encoding
11110xxx 0xF0..0xF7 First byte of a 4-byte character encoding
所以简单的回答是:它需要 1 到 4 个字节,具体取决于第一个字节,它将指示它将占用多少字节。
关于string - 一个 Unicode 字符占用多少字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5290182/