Python有一个转义序列
\u
,用于显示Unicode值。但是这仅限于16位Unicode值。也就是说,>>> '\u1020'
'ဠ'
32位Unicode值无法工作。也就是说
>>> '\u00001000'
'\x001000'
很明显是错误的。Python 文档 提到:
转义序列 \u0020 表示在给定位置插入 Unicode 字符,其序数值为 0x0020(空格字符)。
\u
和\U
后面的数字是16位和32位十六进制数(这只意味着相应地有4个和8个十六进制数字),但它并不说明将相应的Unicode代码点序列化为字节(位)需要多少字节。例如,'\u044F'在utf-8
编码中占用2个字节,但在cp1251
中却只占用一个字节。 - jfs\uXXXX
来表示Unicode码点> 0xFFFF?”请勿更改您的标题。其他人可能存在相同的误解,这对他们可能有用。 - jfs