From lucumr.pocoo.org:
Alright, I admit Alex Gaynor is a pretty clever guy but I was very close to strangling him today for this tweet: @alex_gaynor: WTF does str.encode or unicode.decode even do on Python2? And that's because on the way to Python 3 these functions were removed because they cause confusion with people, but this broke a lot of really good use cases for them in the process.