python中的32位unicode

python中的32位unicode,python,unicode,Python,Unicode,Python有一个转义序列\u来显示unicode值。但是,这仅限于16位unicode值。就是 >>> '\u1020' 'ဠ' 而32位未编码值不起作用。就是 >>> '\u00001000' '\x001000' 这显然是错误的。python提到 转义序列\u0020指示在给定位置插入序号为0x0020(空格字符)的Unicode字符 python明确提到使用'\U'表示32位unicode序列 >>> "\u0394"

Python有一个转义序列
\u
来显示unicode值。但是,这仅限于16位unicode值。就是

>>> '\u1020'
'ဠ'
而32位未编码值不起作用。就是

>>> '\u00001000'
'\x001000'
这显然是错误的。python提到

转义序列\u0020指示在给定位置插入序号为0x0020(空格字符)的Unicode字符

python明确提到使用
'\U'
表示32位unicode序列

>>> "\u0394"                          # Using a 16-bit hex value
'Δ'
>>> "\U00000394"                      # Using a 32-bit hex value
'Δ'
在这种情况下

>>> '\U00001000'
'က'

注意:谈论
n
-位Unicode有误导性。
\u
\u
之后的数字是16位和32位十六进制数字(这只是意味着相应地有4位和8位十六进制数字),但它没有说明将相应的Unicode码点序列化为字节(位)所需的字节数,例如。,在
utf-8
编码中是2个字节,但在
cp1251
@J.F.Sebastian中是一个单字节,那么我应该如何构建我的问题?请就此教育我。“如何在Python字符串文字中指定非BMP Unicode字符?”或
“如何使用Unicode转义”
\uxxx`for Unicode codepoints>0xFFFF?”`不要更改标题。其他人可能有同样的误解,这可能对他们有用。