En Python, tengo una cadena como esta:
'\\x89\\n'
¿Cómo puedo decodificarlo en una cadena normal como:
'\x89\n'
Las cadenas de 2 bytes de Python se pueden decodificar con el códec 'string_escape'
:
raw_string.decode('string_escape')
Manifestación:
>>> '\\x89\\n'.decode('string_escape') '\x89\n'
Para literales Unicode , use 'unicode_escape'
. En Python 3, donde las cadenas son cadenas Unicode por defecto, solo las cadenas de bytes tienen un método .decode()
:
raw_byte_string.decode('unicode_escape')
Si su cadena de entrada ya es una cadena Unicode, use codecs.decode()
para convertir:
import codecs codecs.decode(raw_unicode_string, 'unicode_escape')
Manifestación:
>>> b'\\x89\\n'.decode('unicode_escape') '\x89\n' >>> import codecs >>> codecs.decode('\\x89\\n', 'unicode_escape') '\x89\n'
Esto funcionaría para Python 3:
b'\\x89\\n'.decode('unicode_escape')