使用\ u转义unicode字符串

时间:2014-04-23 19:47:59

标签: python python-2.7

我有一个像"válido"这样的字符串。通常python可以在命令提示符下轻松地将其转换为十六进制,这将变为'v\xc3\x83\xc2\xa1lido'

但是我想将\u用于unicode代码点,所以我希望输出像"v\u00c2\u00a1lido"

所以基本上输入应该是"válido",输出应该是"v\u00c2\u00a1lido"

2 个答案:

答案 0 :(得分:1)

\u仅适用于Unicode字符串;用u开始你的字符串文字:

u"v\u00c2\u00a1lido"

演示:

>>> u"v\u00c2\u00a1lido"
u'v\xc2\xa1lido'
>>> print u"v\u00c2\u00a1lido"
v¡lido

答案 1 :(得分:0)

我认为你需要json.dumps

>>> s="válido"
>>> s
'v\xc3\x83\xc2\xa1lido'
>>> json.dumps(s)
'"v\\u00c3\\u00a1lido"'
>>> print json.dumps(s)
"v\u00c3\u00a1lido"

对OP而言可能为时已晚,但希望它可以帮助那些试图解决同样问题的人。