【发布时间】:2024-01-06 22:41:01
【问题描述】:
是否有数据 URI 的默认字符集?我读了the spec,但没有看到。
例如,如果我有一个源映射的数据 URI,我希望它可以跨浏览器可靠地解释,那么省略字符集是否可以?
//@ sourceMappingURL=data:application/json;base64,eyJ2ZXJza...
对
//@ sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJza...
我在this GitHub issue 中看到人们在没有明确charset=utf-8 的源映射文件中使用中文字符时遇到了问题。因此,如果有一个默认值(或者,至少,如果我们可以预期浏览器会选择一个),那么utf-8 似乎不是那个...
【问题讨论】:
-
这与数据 URI 本身无关,而是与数据的解释有关。 JSON 有一个标准,它只是 UTF-8,但这是一个相对较新的标准变化,它必须是在有效 JSON 的上下文中容易区分的几种 Unicode 编码之一。因此,如果您假设符合过去或现在的 JSON 标准,则应用程序/json MIME 类型上的字符集是不必要的。如果 JSON 是非标准的,我建议将其转换为尽可能接近源代码(并在适用时提交错误报告)。
标签: character-encoding uri source-maps data-uri data-uri-scheme