&gt; Indeed, the Python 3 Unicode string object is fascinatingly clever. Code worth reading:<p>Clever is relative.  The Python 3 unicode string objects makes very little sense given real world situations.  It wastes enormous amount of memory in many common scenarios for no reason at all other than to facilitate O(1) access to charpoints which is completely inappropriate for text processing anyways.<p>Worse than that: it can blow up by another 50% the moment someone encodings it to utf-8 as the encoded version is cached around.<p>The object is too clever for its own good.