In Python, I have a string like this:


How can I decode it into a normal string like:


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:



>>> import codecs
>>> codecs.decode('\\x89\\n', 'unicode_escape')
>>> b'\\x89\\n'.decode('unicode_escape')

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')

For Unicode literals (with a u prefix, e.g. u'\\x89\\n'), use 'unicode_escape'.

This would work for Python 3: