在python中,如何将字符串斜杠转换为转义序列

时间:2015-03-08 10:59:45

标签: python escaping

我想知道如何将包含Unicode ASCII描述符的字符串转换为实际的Unicode字符。

例如,如何将“\\ u1234”转换为“\ u1234”?

谢谢。

2 个答案:

答案 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的解决方案要好得多。