Always encode from unicode to bytes. In this direction, you get to choose the encoding.
>>> u'🐍'.encode('utf-8')
'\\xf0\\x9f\\x90\\x8d'
The other way is to decode from bytes to unicode. In this direction, you have to know what the encoding is.
>>> b'\\xf0\\x9f\\x90\\x8d'.decode('utf-8')
u'\\U0001f40d'