[Python-Dev] Re: [XML-SIG] printing Unicode xml to StringIO

Guido van Rossum guido@python.org
Fri, 28 Dec 2001 10:27:02 -0500


> > - Since we added a note to the docs that StringIO supports Unicode, we
> >   clearly should continue to support that, and it's a bug if it
> >   doesn't.
> 
> I still believe that the docs are wrong, but nevermind. I'll fix
> StringIO.py to continue to support Unicode in addition to strings
> and buffer objects. It's basically only about special casing
> Unicode in the .write() method.

Thanks.

> BTW, I was never aware of the doc changes in this area and the 
> test suite didn't bring up the issues either.

Can you please add something to the test suite that makes sure this
feature works?

> > - OTOH, Unicode for cStringIO should be considered at best a feature
> >   request.  I don't mind if cStringIO doesn't support Unicode -- it
> >   never has, AFAIK, so it won't break much code.  I don't believe it's
> >   much faster than StringIO, unless you use the C API (like cPickle
> >   does).
> 
> Unicode support in cStringIO would require a new implementation
> since the machinery uses raw byte buffers.

That's why I don't care much about it. :-)

> > - Of course, when Unicode is supported, mixing ASCII and Unicode
> >   should be supported too.  (But not necessarily mixing 8-bit strings
> >   containing characters in the range \200-\377, since there's no
> >   default encoding for this range.)
> 
> In StringIO.py this is not much of a problem since it uses
> a list of snippets. Note that this is also why StringIO.py "supported"
> Unicode in the first place (and that's why I think it was more an
> artifact of the implementation than true intent).

But it was useful! :-)

> > - Since this changed from 2.1 to 2.2, we should restore this
> >   capability in 2.2.1; I would say that 2.2.1 can't go out until this
> >   is fixed.

Try to mark the checkin messages as "2.2.1 bugfix", for the 2.2.1
patch czar.

--Guido van Rossum (home page: http://www.python.org/~guido/)