我不知道他们如何在日志文件中打印“ \ u8bf8 \ u845b \ u4eae”之类的字符串。但是现在我需要从中获取正确的字符串,它是中文的“诸葛亮”。我尝试了很多方法,但是失败了。

In [56]: print u"\u8bf8\u845b\u4eae"
诸葛亮

In [57]: print "\u8bf8\u845b\u4eae"
\u8bf8\u845b\u4eae

In [58]: "\u8bf8\u845b\u4eae".decode('utf-8')
Out[58]: u'\\u8bf8\\u845b\\u4eae'
In [64]: eval("\u8bf8\u845b\u4eae")
  File "<string>", line 1
    \u8bf8\u845b\u4eae
                 ^
SyntaxError: unexpected character after line continuation character

最佳答案

您必须使用:unicode-escape

print '\\u8bf8\\u845b\\u4eae'.encode('ascii').decode('unicode-escape')


另请参阅:Converting Unicode string to Chinese characters

08-05 14:00