Liquid XML在我的xml文件的文件前面写了奇怪的字符

时间:2016-12-23 13:38:28

标签: xml liquid-xml

我正在处理一个简单的XML文件,在用Liquid XML Studio编辑它之后,它似乎在文件的开头添加了一些随机字符()。怎么回事?

1 个答案:

答案 0 :(得分:2)

字节订单标记(BOM)和文档编码

有关字节顺序标记(BOM)的更多信息,请参阅Byte Order Marker

当Liquid XML Studio加载文档时,它使用BOM(如果存在)来确定编码,并使用它将文档解码为内部Unicode格式。 XML中的编码属性(如果存在)用于优化数据解码为Unicode格式。

如果BOM和编码属性发生冲突,则会进行最佳猜测(通常依赖于BOM)。

XML文档在内部以Unicode格式存储和操作,它将编码属性(或BOM)提供的编码保持为文档的属性。

无论何时将数据粘贴到文档中,都会将其作为Unicode处理。

保存文档时,使用与文档关联的编码属性写出文档(用户可以在属性窗口中更改此文档)。所以你应该没有编码问题。

使用带有UTF-8编码文档的物料清单时的问题

Unicode文件必须有BOM才能识别它们。 BOM成为问题的唯一时间是UTF-8。对于UTF-8,没有标准说明是否应该写入BOM。大多数Microsoft应用程序和较新的应用程序编写BOM,一些较旧的应用程序不会编写BOM,更糟糕的是当读取包含BOM的文档时仍然无法理解。他们可能只是在文档开头看到字符EF BB BF或并假设文档无效。

为了适应这种情况,我们默认编写BOM,但是有一个全局选项可以为UTF-8关闭它。

在Liquid XML Studio中,您可以通过更改以下设置来停止编写BOM:

工具 - >选项 - >环境 - >写字节订单标记(BOM)