如何从 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')
κανω
我有一个 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')
κανω