如何将“原始”字符串转换为普通字符串?

2024-09-28 21:06:58 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,我有一个这样的字符串:

'\\x89\\n'

我如何将其解码为普通字符串,如:

'\x89\n'

Tags: 字符串解码x89
2条回答

这对Python 3是有效的:

b'\\x89\\n'.decode('unicode_escape')

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'

相关问题 更多 >