Python is an abstraction a long way above the Von Neumann machine. It should not expose implementation details like the number of bytes a string happens to be stored as. The whole point of the Python 2 -&gt; 3 transition was to disallow just treating a string as a random pile of bytes and hoping it all works out.