gpt4 book ai didi

character-encoding - 数据 URI 默认字符集

转载 作者:行者123 更新时间:2023-12-01 16:14:45 29 4
gpt4 key购买 nike

数据 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 似乎不是那个……

最佳答案

根据RFC 2397 § 2没有指定字符集的数据 URI 默认为 US-ASCII。因为every Base64-encoded URI uses only ASCII characters 。此外,“所有 US-ASCII 字符串都变为有效的 UTF-8”,这意味着“在许多情况下具有良好的向后兼容性”。1

尽管如此,UTF-8 的实现在 2019 年仍然参差不齐。正因为如此,并且因为显式调用字符集到已经对用户不友好的数据 URI 的成本很小,所以这可能不是一个坏事建议在源映射 URI 中包含 charset=utf-8,以便在浏览器中可靠地解释它们。

<小时/>
  1. Arjun Chaudhary 对 Is there a drastic difference between UTF-8 and UTF-16 的回答.

关于character-encoding - 数据 URI 默认字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38357534/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com