Convert unicode string to byte string

python, unicode

Solution

ISO 8859-1 (aka Latin-1) maps the first 256 Unicode codepoints to their byte values.

>>> u'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'.encode('latin-1')
'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'

Problem

I get a string from a function that is represented like `u'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'`, but to process it I need it to be bytestring (like `'\xd0\xbc\xd0\xb0\xd1\x80\xd0\xba\xd0\xb0'`). How do I convert it without changes? My best guess so far is to take `s.encode('unicode_escape')`, which will return `'\\xd0\\xbc\\xd0\\xb0\\xd1\\x80\\xd0\\xba\\xd0\\xb0'` and process every 5 characters so that '\xd0' becomes one character represented as '\xd0'.

Original source