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 时。 utf
和UTF
这三个字符对用户的取值不同。
<?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-8
和 utf-8
以及 Utf-8
或其任何其他变体始终表示相同事物。这也适用于其他字符集,例如ISO-8859-1
(拉丁语 1)等。大小写无关紧要,因为大小写在这种标识符中并不是一个有意义的因素。
我对跨多个平台的 Web 服务进行了大量工作,但我从未真正见过使用“标准”表单。我见过各种字符集的各种变体……通常是来自单个业务合作伙伴的不同变体。
【讨论】:
【参考方案5】:大写是事实上的标准。但是,它仍应适用于任何大小写组合。
【讨论】:
以上是关于XML文件编码格式“utf-8”VS“UTF-8”?的主要内容,如果未能解决你的问题,请参考以下文章