Python 2.7:使用\ U前缀创建的utf-16字符串中有多少字节?

时间:2013-12-26 18:17:08

标签: python python-2.7 utf-8 utf-16

我想在我的应用中使用utf-16。

我知道,\ u用于描述utf-8字符(2个字节)

>>> u'\u1234'
> u'\u1234'

和\ U用于描述utf-16 characher(4个字节)。

>>> u'\U12345678'
> u'\5678'

是否存在长篇字符的约束,以\ U方式描述?

1 个答案:

答案 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代码点对字符进行编码。

相关问题