”XML 和 HTML 4.0的文档字符集是 Unicode (又名 ISO)
这意味着 HTML 浏览器和 XML 处理器应该表现良好
as if they used Unicode internally. But it doesn't mean that documents
只要客户端和服务器同意,就必须使用 Unicode 进行传输
在编码上,它们可以使用任何可以转换为
Unicode...”
Over time a lot of encodings have been created. In the Windows world, there is CP1252, or ISO-8859-1, whereas Linux users tend to favour UTF-8. Java uses UTF-16 natively [see comments].
一种编码中字符的一个字节值序列可能代表另一种编码中完全不同的字符,甚至可能是无效的。
例如,在 ISO 8859-1中,* 由一个字节的值 226表示,而在 UTF-8中,它是两个字节: 195, 162。然而,在 ISO 8859-1中,195, 162是两个字符,Ã,。
可以将 XML 看作是字节序列而不是字符序列。
假设接收 XML 的系统看到字节 195, 162。它如何知道这些字符是什么?
为了让系统将这些字节解释为实际字符(并显示它们或将它们转换为另一种编码) ,它需要知道 XML 中使用的编码。