如何从 unicode 字节表示中检索我的 unicode

How to retrieve my unicode from the unicode byte representation

我有一个 unicode 字符串 κανω 但由于一些其他软件的预处理,我无法更改它变成了文字字符串 '\u03ba\u03b1\u03bd\u03c9' 而不是 u'\u03ba\u03b1\u03bd\u03c9'

如何将 '\u03ba\u03b1\u03bd\u03c9' 改回 u'\u03ba\u03b1\u03bd\u03c9'

我试过:

>>> x = '\u03ba\u03b1\u03bd\u03c9'
>>> print x
\u03ba\u03b1\u03bd\u03c9
>>> print x.decode('utf8')
\u03ba\u03b1\u03bd\u03c9
>>> print x.encode('utf8')
\u03ba\u03b1\u03bd\u03c9
>>> print unicode(x)
\u03ba\u03b1\u03bd\u03c9

我不可能转到每个字符串输出并添加 u'...',即我需要避免这样做:

>>> x = u'\u03ba\u03b1\u03bd\u03c9'
>>> print x
κανω

您需要 'unicode_escape'(在 Python 源代码中生成适合作为 Unicode 文字的字符串)作为其编码:

>>> s='\u03ba\u03b1\u03bd\u03c9'
>>> print unicode(s,'unicode_escape')
κανω