XML文件编码格式“utf-8”VS“UTF-8”?

Posted

技术标签:

【中文标题】XML文件编码格式“utf-8”VS“UTF-8”?【英文标题】:XML file encoding format "utf-8" VS "UTF-8"? 【发布时间】:2011-03-16 04:22:53 【问题描述】:

当 XML 文件被转换为 ASCII 时。 utfUTF这三个字符对用户的取值不同。

<?xml version="1.0" encoding="utf-8"?>


<?xml version="1.0" encoding="UTF-8"?>

我尝试用 vs2005 创建一个新的 xml 文件。 utf-8默认生成的表单文件。

哪一个是更标准的定义?谢谢。

【问题讨论】:

由于小写字母更常见,utf-8 在压缩时可能会占用更少的空间。 @Zaz 是的,小写压缩更好encode.ru/threads/… 【参考方案1】:

IANA character set registry says:

没有区别使用 大写和小写字母。

但是那个页面,the XML specification 和 unicode.org 在大写 UTF-8 方面是一致的。

【讨论】:

@dan04。我想将您的回复标记为答案。感谢您提供有用的链接。 @All,因为我需要将整个 xml 文件转换为 ASCII 格式并比较 ASCII 正文....这就是为什么我关心 大小写字母。。谢谢大家。 此外,谷歌搜索charset utf-8 uppercase|lowercase bug|solved 发现了许多通过使用大写UTF-8 解决/规避的错误关系,而我没有发现任何关系(在谷歌搜索该主题的一个晚上内)存在问题可以解决将大写变为小写。受影响的软件包括 Apache xerces (MacOS X)、jsp、jetty(破坏 AWS S3 签名,请参阅:github.com/golang/go/issues/19430)和许多其他软件。基于此,可以提出一个论点,即大写 UTF-8 字符集具有更好的兼容性(尤其是与旧工具的兼容性)。 我确认 UTF-8(大写)。在 MVC CORE 3.1 中使用小写字符时,我得到了错误的编码结果...【参考方案2】:

来自XML specification:

“XML 处理器应该以不区分大小写的方式匹配字符编码名称”

这表示您可以根据需要使用大写或小写甚至混合大小写。但是,该规范在其所有示例中都使用“UTF-8”,因此为了保持一致性,我会使用它。

【讨论】:

【参考方案3】:

对于那些对血腥细节感兴趣的人 - 包括一些相关标准和先例的链接 - 我在几年前写了一篇关于 Case-Sensitivity of UTF-8 in XML Declarations 的博客。

【讨论】:

【参考方案4】:

根据我的经验(主要用于 .NET),字符集标识符被视为不区分大小写,因此 UTF-8utf-8 以及 Utf-8 或其任何其他变体始终表示相同事物。这也适用于其他字符集,例如ISO-8859-1(拉丁语 1)等。大小写无关紧要,因为大小写在这种标识符中并不是一个有意义的因素。

我对跨多个平台的 Web 服务进行了大量工作,但我从未真正见过使用“标准”表单。我见过各种字符集的各种变体……通常是来自单个业务合作伙伴的不同变体。

【讨论】:

【参考方案5】:

大写是事实上的标准。但是,它仍应适用于任何大小写组合。

【讨论】:

以上是关于XML文件编码格式“utf-8”VS“UTF-8”?的主要内容,如果未能解决你的问题,请参考以下文章

C# XML 字符串编码问题

报文编码格式改为UTF-8

delphi 保存UTF-8格式的xml文件,在IE中有乱码。

IDEA - 设置所有文件编码为UTF-8格式

VS2017新建windows控制台程序打印中文乱码问题

网页编码格式为UTF-8,文件保存格式也是UTF-8,为啥我用浏览器浏览时是乱码?刷新一下就显示正常!