【问题标题】:What charset to use for json with base64 encoded binary data?什么字符集用于带有 base64 编码二进制数据的 json?
【发布时间】:2015-01-31 01:03:13
【问题描述】:

对于使用 base64 编码的二进制数据的 JSON (UTF-8/16/32),什么是最节省空间的字符集?

{ data: "jA0EAwMCxamDRMfOGV5gyZPnyX1BB" }

【问题讨论】:

    标签: json utf-8 base64 utf-16 utf-32


    【解决方案1】:

    Base64 是 ASCII,因此如果您的大部分 JSON 是 Base64 编码的数据,最节省空间的编码将是 UTF-8。 UTF-8 将 ASCII 字符(代码点 0000–007F)编码为一个字节,而 UTF-16 和 UTF-32 分别将它们编码为两个和四个。

    此外,使用 UTF-8 是个好主意,因为它是 JSON 的默认编码,并非所有工具都支持其他编码。来自RFC-7159

    8.1 字符编码

    JSON 文本应以 UTF-8、UTF-16 或 UTF-32 编码。默认编码为 UTF-8,以 UTF-8 编码的 JSON 文本是可互操作的,因为它们将被最大数量的实现成功读取;有许多实现无法成功读取其他编码(如 UTF-16 和 UTF-32)的文本。

    【讨论】:

      猜你喜欢
      • 2021-12-03
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 2017-10-13
      • 1970-01-01
      相关资源
      最近更新 更多