random832 added the comment:

I can't reproduce without pickle. I did some further digging, though, and it 
*looks like*...

1. Pickle causes the built-in UTF-8 representation of a string to be populated, 
whereas encode('utf-8') does not. Can anyone think of any other operations that 
do this?
2. After the UTF-8 representation of the 2-character string is populated, 
concatenating a new character to it does not update or clear it.
3. However, it worked just fine with the 1-character string - concatenating it 
caused the UTF-8 representation to be cleared.

The actual operation that creates an inconsistent string is the concatenate 
operation, but it only happens with a string that has been "primed" by having 
its UTF-8 representation materialized.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25709>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to