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中文件编码规则的主要内容,如果未能解决你的问题,请参考以下文章