Python 2.7 在Python中更正len()32位unicode字符串

Python 2.7 在Python中更正len()32位unicode字符串,python-2.7,unicode,Python 2.7,Unicode,我在Python2.7中遇到了32位unicode字符串的问题。一个简单的声明,例如: s = u'\U0001f601' print s 将打印一个漂亮的OS X Python编译时支持-2(真正的UTF-16)而不是针对Linux的UCS-4支持。这意味着在OS X上使用长度为2个字符的a来表示字符。然而,由于我不是在处理编码字符串(str),它是使用一对字符还是仅使用一个字符应该无关紧要。我的意思是,最终这不只是一个unicode字符吗?这是一个bug还是一个平台不兼容?它是一个Unic

我在Python2.7中遇到了32位unicode字符串的问题。一个简单的声明,例如:

s = u'\U0001f601'
print s

将打印一个漂亮的OS X Python编译时支持-2(真正的UTF-16)而不是针对Linux的UCS-4支持。这意味着在OS X上使用长度为2个字符的a来表示字符。

然而,由于我不是在处理编码字符串(
str
),它是使用一对字符还是仅使用一个字符应该无关紧要。我的意思是,最终这不只是一个unicode字符吗?这是一个bug还是一个平台不兼容?它是一个Unicode字符,但不管它是内部编码的。然后解码错误,这就是错误。