1.2 KiB
1.2 KiB
UTF-8编码
UTF-8 采用可变长编码的方式,一个字符可占 1 字节 -6 字节,其中每个字符所占的字节数由字符开始的 1 的个数确定,具体的编码方式如下:
范围 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
0x00000000~0x0000007F | 0xxxxxxx | |||||
0x00000080~0x000007FF | 110xxxxx | 10xxxxxx | ||||
0x00000800~0x0000FFFF | 1110xxxx | 10xxxxxx | 10xxxxxx | |||
0x00010000~0x001FFFFF | 11110xxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | ||
0x00200000~0x03FFFFFF | 111110xx | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | |
0x04000000~0x7FFFFFFF | 1111110x | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx |
对于 UTF-8 的编码,只需要每次计算每个字符开始字节的 1 的个数,就可以确定这个字符的长度。