【发布时间】:2018-01-25 01:58:45
【问题描述】:
这个问题与 Construct python library 相关,尽管这并不重要。
我正在编写一段需要解析 UTF16/32 编码字符串的代码,没有前缀(类似于 PascalString),并且后面有任意数据。我需要有人来确认我对这些编码的理解。如果这些假设成立,我知道如何编写解析器。
- UTF16 必须是 2 个字节的倍数,最后一个块(并且只有最后一个)必须是 \x00\x00
- UTF32 必须是 4 字节的倍数,最后一个块(并且只有最后一个)必须是 \x00\x00\x00\x00
我意识到某些代码点不一定是 2 个字节 (UTF16)。
【问题讨论】:
-
2/4 字节的倍数——是的。一些代码点(一些 Emoji 和一些中文)需要 2 个 UTF16 字节对(但只有 1 个 4 字节 UTF32)。
标签: python unicode python-unicode unicode-string