3

使用 Python 模块unicode-nazi来检测 unicode 问题,我遇到了这个警告:

/home/dotancohen/unicode-test.py:51: UnicodeWarning: unicode 到 str 的隐式转换
print("这是一个短语:" + str(phrase))

由于phrase式转换为字符串,隐式转换在哪里?肯定"Here is a phrase: "是一个字符串,因为它前面没有u.

4

1 回答 1

6

您需要phrase明确编码 unicode 值:

print("Here is a phrase: " + phrase.encode('some_codec'))

str()在 unicode 值上使用默认编解码器(Python 2 上的 ASCII)隐式编码该值。

于 2013-06-11T13:46:37.500 回答