Fra*_*k V 8 xml encoding utf-16
我有一个可能是一个非常简单,狡猾的问题,但我无法在任何地方找到答案,我需要对此非常肯定.
我有来自不同供应商的各种XML文件.其中一个供应商为我提供了一个包含日文字符的XML文件.最初,我在处理XML文件时遇到了问题(我正在使用MSXML SDK).角色会出错.我发现如果将以下内容添加到XML文件中,一切都很有效.
<?xml version="1.0" encoding="UTF-16"?>
Run Code Online (Sandbox Code Playgroud)
所以我要求供应商将其添加到他们的文件中.但是他们用小写的编码添加了它:
<?xml version="1.0" encoding="utf-16"?>
Run Code Online (Sandbox Code Playgroud)
当我加载这个新文件时,使用此声明,我遇到了与此声明不存在时相同的问题.
我想弄清楚的(肯定的)是该编码属性是否区分大小写(或者是其他问题).他们把"utf-16"与"UTF-16"放在一起是否重要?
更新:在这些发布答案的人的建议下,我设置并执行了测试.一个文件的小写字母为utf-16,另一个大写字母.除此之外,文件是相同的.这没有解决问题,也不是问题.我的结论是,MSXML不区分大小写,因为规范在答案中说明.
sch*_*der 10
从XML规范:
XML processors SHOULD match character encoding names in a case-insensitive way
Run Code Online (Sandbox Code Playgroud)
根据RFC 2119,它不是必需的,但建议不区分大小写:
- 应该这个词,或形容词"推荐",意味着在特定情况下可能存在忽略
特定项目的正当理由,但
在选择不同的课程之前必须理解并仔细权衡全部含义.