Re: Bug in Mozilla parser
Peter Flynn <[email protected]>
| Newsgroups | gmane.comp.mozilla.devel.xml |
|---|---|
| Organization | Usenet Labs Bozon Detector Facility |
| Message-ID | <[email protected]> |
Vinu wrote: > What i can see in memory(i use C/C++ version of the parser in > VisualStudio) is that the XML buffer is represented as one byte per > character. > For e.g space char is represented as 32(dec) and so on. > Now this buffer also contains the character ¤ which has ASCII code > 164(decimal) or A4(hex). > When the parser starts parsing this buffer to build a DOM tree, it is > replacing ¤(code 164 and represented as one byte) with two bytes(which > when represented in ASCII are the characters ¤). I think this is an > UTF-8 representaion, where two bytes are used to represent ¤, whereas > in ASCII/latin1 it would be represented with just one byte. OK, now I understand. Sorry for being so slow. > So when i get back the XML from the DOM, and i am expecting a latin1 > encoding, i get ¤ wherever ¤ was expected. Does your XML document start with an XML Declaration specifying ISO-8859-1 as the character encoding? If not, then UTF-8 is assumed. > So is the behaviour of any XML parser to store XML internally in UTF-8 Given that parsers are mandated to support UTF-8, probably yes. > and then probably its the responsibility of the application using this > parser to convert this XML in UTF-8 encoding to any encoding which it > wishes. Yes, that's probably true also. ///Peter -- XML FAQ: http://xml.silmaril.ie/