In Python, I have a string like this:
'\\x89\\n'
How can I decode it into a normal string like:
'\x89\n'
If your input value is a str
string, use codecs.decode()
to convert:
import codecs codecs.decode(raw_unicode_string, 'unicode_escape')
If your input value is a bytes
object, you can use the bytes.decode()
method:
raw_byte_string.decode('unicode_escape')
Demo:
>>> import codecs >>> codecs.decode('\\x89\\n', 'unicode_escape') '\x89\n' >>> b'\\x89\\n'.decode('unicode_escape') '\x89\n'
Python 2 byte strings can be decoded with the 'string_escape'
codec:
>>> import sys; sys.version_info[:2] (2, 7) >>> '\\x89\\n'.decode('string_escape') '\x89\n'
For Unicode literals (with a u
prefix, e.g. u'\\x89\\n'
), use 'unicode_escape'
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With