使用Python模块unicode-nazi来检测unicode问题,我遇到了这个警告:
/home/dotancohen/unicode-test.py:51:UnicodeWarning:将unicode隐式转换为str
print(“这是一个短语:”+ str(短语))
由于phrase
显式强制转换为字符串,隐式转换在哪里?当然"Here is a phrase: "
是一个字符串,因为它前面没有u
。
答案 0 :(得分:6)
您需要明确编码phrase
unicode值:
print("Here is a phrase: " + phrase.encode('some_codec'))
unicode值上的 str()
使用默认编解码器(Python 2上的ASCII)隐式编码该值。