'string_escape' in python 3

Nicholas Cole nicholas.cole at gmail.com
Fri Apr 6 13:52:41 EDT 2012


In Python 2 given the following raw string:

>>> s = r"Hello\x3a this is a test"

the escaping could be removed by use of the following:

>>> s.decode('string_escape')

In Python 3, however, the only way I can see to achieve the same
result is to convert into a byte stream and then back:

>>> bytes(s, 'utf-8').decode('unicode_escape')


This seems very ugly (and slightly 'wrong').  Is there no way to do
this without using bytes?  Have I missed something?

Best wishes,

N.



More information about the Python-list mailing list