我想在我的应用中使用utf-16。
我知道,\ u用于描述utf-8字符(2个字节)
>>> u'\u1234'
> u'\u1234'
和\ U用于描述utf-16 characher(4个字节)。
>>> u'\U12345678'
> u'\5678'
是否存在长篇字符的约束,以\ U方式描述?
答案 0 :(得分:0)
\U
只能用于有效的Unicode代码点:
>>> u'\U12345678'
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-9: illegal Unicode character
>>> u'\U0001FFFF'
u'\U0001ffff'
Python 2可以处理这些问题,但它取决于你的构建类型(宽或窄)这个字符数量。窄版本使用两个UTF-16代码点对字符进行编码。