string storage [was: Re: imaplib: is this really so unwieldy?]
Jon Ribbens
jon+usenet at unequivocal.eu
Wed May 26 08:11:35 EDT 2021
On 2021-05-26, Alan Gauld <alan.gauld at yahoo.co.uk> wrote:
> On 25/05/2021 23:23, Terry Reedy wrote:
>> In CPython's Flexible String Representation all characters in a string
>> are stored with the same number of bytes, depending on the largest
>> codepoint.
>
> I'm learning lots of new things in this thread!
>
> Does that mean that if I give Python a UTF8 string that is mostly single
> byte characters but contains one 4-byte character that Python will store
> the string as all 4-byte characters?
>
> If so, doesn't that introduce a pretty big storage overhead for
> large strings?
Memory is cheap ;-)
> I confess I had just assumed the unicode strings were stored
> in native unicode UTF8 format.
If you do that then indexing and slicing strings becomes very slow.
More information about the Python-list
mailing list