dam*_*mon 2 unicode character-encoding utf-32
在在线diveintopython3书中,它说utf-32和utf-16的优点是
UTF-32 是一种简单的编码;它接受每个 Unicode 字符(一个 4 字节的数字)并用相同的数字表示字符。这有一些优点,最重要的是您可以在恒定时间内找到字符串的第 N 个字符,因为第 N 个字符从第 4×N 个字节开始
有人可以解释一下吗?如果可能的话,举个例子..我不确定我是否完全理解它
Unicode 的常用编码是 UTF-8;UTF-8 表示具有可变字节数的字符。例如,“L”字符用单个字节(0x4c)编码,而“é”用两个字节(0xc3、0xa9)编码。所以在 UTF-8 编码中,“Lézard”这个词占用 7 个字节,如果不先解码所有字符,就无法得到第 N 个字符(你不知道每个字符需要多少个字节)。
在 UTF-32 中,所有字符都使用 4 个字节,因此要获取第 N 个字符,只需转到字节 4×(N-1)。第一个字符在位置 0,第二个在位置 4,第三个在位置 8,依此类推。