IMO one of the reasons for all the angst is that .encode() and .decode() are so ambiguous and unintuitive which makes them incredibly confusing to use.  Which direction are you converting? From what to what? The whole unicode thing is hard enough to understand without Python&#x27;s encoding and decoding functions adding to the mystery. I still have to refer to the documentation to make sure I&#x27;m encoding or decoding as expected.<p>I think there would have been much less of a problem if encode and decode were far more obvious, unambiguous and intuitive to use. Probably without there being two functions.<p>Still a problem of course today.