我想知道如何将包含Unicode ASCII描述符的字符串转换为实际的Unicode字符。
例如,如何将“\\ u1234”转换为“\ u1234”?
谢谢。
答案 0 :(得分:2)
decode('unicode-escape')
,例如:
>>> s = u'\\u03be'
>>> s
u'\\u03be'
>>> print s
\u03be
>>> e = s.decode('unicode-escape')
>>> e
u'\u03be'
>>> print e
ξ
这样可行,但最好修复问题的根源。字符串从哪里来?是JSON吗?一些Python代码?
答案 1 :(得分:0)
以下是我使用ast.literal_eval
的方法。 ast.literal_eval
解析python文字而不用执行嵌入其中的任何代码,因此在程序中使用它会更安全。
关键的想法是评估你想要的字符串表示,例如u"\1234"
import ast
s=u"\\u04d2"
s_bis=ast.literal_eval( u'u"'+s+u'"' )
编辑:georg的解决方案要好得多。