I would suspect that you don&#x27;t deal with much non-ascii data if you <i>like</i> python3&#x27;s string handling. In Python 2 you have control over encodings. You can work with unicode-strings internally, but you receive and produce <i>bytes</i>, which is actually the only truth in the computer world. Everything else is a lie. It would be nice to pretend that there&#x27;s only 1 encoding in the world and that encoding is roughly equivalent to unicode itself, but this isn&#x27;t true. World doesn&#x27;t work on UTF-8. By abstracting encodings Python 3 obscures what&#x27;s actually happening.