在Python中,我有一个这样的字符串:
'\\x89\\n'
如何将其解码为普通字符串,如:
'\x89\n'
答案 0 :(得分:23)
Python 2字节字符串可以使用'string_escape'
编解码器解码:
raw_string.decode('string_escape')
演示:
>>> '\\x89\\n'.decode('string_escape')
'\x89\n'
对于 unicode 文字,请使用'unicode_escape'
。在Python 3中,默认情况下字符串是unicode字符串,只有字节字符串有.decode()
方法:
raw_byte_string.decode('unicode_escape')
如果您的输入字符串已经一个unicode字符串,请使用codecs.decode()
进行转换:
import codecs
codecs.decode(raw_unicode_string, 'unicode_escape')
演示:
>>> b'\\x89\\n'.decode('unicode_escape')
'\x89\n'
>>> import codecs
>>> codecs.decode('\\x89\\n', 'unicode_escape')
'\x89\n'
答案 1 :(得分:8)
这适用于Python 3:
b'\\x89\\n'.decode('unicode_escape')