3

我对 XML 有基本的了解。我的问题是为什么需要提及在 XML 文档开头使用的编码以及为什么需要编码?

4

2 回答 2

3

它不是必需的,尽管通常您可能希望包含它:

在没有外部字符编码信息(例如 MIME 标头)的情况下,以 UTF-8 或 UTF-16 以外的编码存储的已解析实体必须以包含编码的文本声明(参见 4.3.1 文本声明)开头宣言。

因此,例如,当通过 HTTP 传输 XML 时,XML 解析器可能会使用来自Content-Type标头的值,如下所示:

Content-Type application/xml; charset=UTF-8

但是一旦这个文档存储在本地,它就不会包含这些信息——因此将编码包含到 XML 文档的声明部分似乎是一个好主意。

于 2013-03-12T17:26:37.240 回答
1

为什么有必要在 XML 文档的开头提及使用的编码

它不是。有默认值。(UTF-8 和 UTF-16,可以通过编程方式可靠地区分)

以及为什么需要编码

计算机只理解二进制。编码是用二进制表示字母、数字等的过程,因此可以由计算机处理。不同的编码以不同的方式存储字符。

于 2013-03-12T17:29:23.237 回答