XML中文件编码规则

Posted 龙行天下之Sky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML中文件编码规则相关的知识,希望对你有一定的参考价值。

W3C定义了三条XML解析器如何正确读取XML文件的编码的规则:

 1,如果文挡有BOM(字节顺序标记,一般来说,如果保存为unicode格式,则包含BOM,ANSI则无),就定义了文件编码
 2,如果没有BOM,就查看XML声明的编码属性
 3,如果上述两个都没有,就假定XML文挡采用UTF-8编码



BOM:byte order mark

BOM设计出来不是用来支持html和XML的。要识别文本编码,HTML有charset属性,XML有encoding属性,没必要拉BOM撑场面。

UTF-8 不需要 BOM,尽管 Unicode 标准允许在 UTF-8 中使用 BOM。
所以不含 BOM 的 UTF-8 才是标准形式,在 UTF-8 文件中放置 BOM 主要是微软的习惯(顺便提一下:把带有 BOM 的小端序 UTF-16 称作「Unicode」而又不详细说明,这也是微软的习惯)。
BOM(byte order mark)是为 UTF-16 和 UTF-32 准备的,用于标记字节序(byte order)。微软在 UTF-8 中使用 BOM 是因为这样可以把 UTF-8 和 ASCII 等编码明确区分开,但这样的文件在 Windows 之外的操作系统里会带来问题。

可参考: https://www.zhihu.com/question/20167122


以上是关于XML中文件编码规则的主要内容,如果未能解决你的问题,请参考以下文章

XML

XML基本语法

xml基本语法

#yyds干货盘点#计算机编码规则之:Base64编码

为啥kafka接收的中文变成了unicode编码,怎么解决

IIS7 urlrewrite 模块 - 外部 xml 文件中的规则