Python强制执行unicode转义

时间:2011-08-09 07:47:41

标签: python unicode character-encoding

如何在python中强制执行unicode转义?

我有unicode字符串u'aä'u'a\u00e4',我希望它表示为a\u00e4。解决方案建议here对我不起作用:

>>> repr(u'a\u00e4')
"u'a\\xe4'"

根据我的理解,以下尝试应该是正确的解决方案(但不是):

>>> u'a\u00e4'.encode('unicode-escape')
'a\\xe4'

我在OS X上使用python 2.6和2.7以及在Debian Squeeze上使用2.6进行了尝试。

感谢您的时间。

1 个答案:

答案 0 :(得分:3)

256以下的Unicode字符始终在其\x表示中使用repr()进行编码,因为它占用的空间最小。

尽管如此,由于u'在开始时它们是unicode。这只是一个代表问题。

如果你想要它,你可以做

print repr(u'a\u00e4').replace('\\x','\\u00')