[Python-3000] str/unicode tests: pyexpat.c and read(n)
"Martin v. Löwis"
martin at v.loewis.de
Sun Jul 22 18:30:26 CEST 2007
Guido van Rossum schrieb:
> On 7/22/07, "Martin v. Löwis" <martin at v.loewis.de> wrote:
>> > Sure, normally XML is serialized to bytes, but it is also
>> > serializable to unicode, and that's a useful feature to have (if
>> > implementable).
>>
>> It's not reasonably implementable; users who have use cases
>> will have to encode as UTF-8 first.
>
> Now I'm confused. Are we proposing that all our XML APIs read and
> write encoded bytes, or are we proposing that they read and write
> Unicode strings, leaving the encoding/decoding to the I/O stream?
Unicode strings in both cases.
I was not talking about writing at all; pyexpat only does reading
(aka parsing). It returns Unicode strings, but processes bytes.
> I
> thought the latter was preferred but now it looks like you're arguing
> for the former?
The XML parser input stream should be byte-oriented. XML has its own
notion of input encoding (expressed in the XML declaration, <?xml...);
it's the job of the parser to figure it out. Having the user provide
a character-oriented stream to the parser is both inconvenient and
error-prone: the application would have to figure out the encoding
itself first.
Regards,
Martin
More information about the Python-3000
mailing list