For example, if I have a unicode string, I can encode it as an ASCII string like so:
>>> u'\u003cfoo/\u003e'.encode('ascii') '<foo/>'
However, I have e.g. this ASCII string:
'\u003foo\u003e'
… that I want to turn into the same ASCII string as in my first example above:
'<foo/>'
It took me a while to figure this one out, but this page had the best answer:
There’s also a ‘raw-unicode-escape’ codec to handle the other way to specify Unicode strings — check the ‘Unicode Constructors’ section of the linked page for more details (since I’m not that Unicode-saavy).
EDIT: See also Python Standard Encodings.