解码转义字符

时间:2014-03-03 06:53:52

标签: python unicode decode

我正在尝试转换 string1 ,因此它会将输出显示为 string2

string1 = "<value>UK LONDON 8CS Flr01 Rm1\\xc4\\x9f</value>"

string2 = "<value>UK LONDON 8CS Flr01 Rm1ğ</value>"

我正在使用有限选项的plone,假设我无法导入任何外部库。

当我尝试使用.decode('unicode-escape')时,它会返回以下字符串

print string1.decode( 'unicode-escape' )  # prints <value>UK LONDON 8CS Flr01 Rm1Ä</value>

请注意,转换unicode的第一部分需要Ä(\ xc4)

由于

1 个答案:

答案 0 :(得分:0)

使用string-escape编码代替unicode-escape

>>> print string1.decode('string-escape')
<value>UK LONDON 8CS Flr01 Rm1ğ</value>

或使用unicode-escape解码,然后使用latin1编码对其进行编码:

>>> print string1.decode('unicode-escape').encode('latin1')
<value>UK LONDON 8CS Flr01 Rm1ğ</value>

注意 string-escape仅适用于Python 2.x。