In this talk Rory Geoghegan tries to explain the decisions about encoding and unicode in python 2, and the splitting of strings in python 3 into bytes and unicode strings.
Useful links:
Unicode in Python 3: http://sflx.ca/unicodepy
Rory: http://sflx.ca/rory
MP46: http://sflx.ca/mp46e
Montreal Python: http://montrealpython.org
Savoir-faire Linux: http://www.savoirfairelinux.com