【发布时间】:2015-01-31 01:03:13
【问题描述】:
对于使用 base64 编码的二进制数据的 JSON (UTF-8/16/32),什么是最节省空间的字符集?
{ data: "jA0EAwMCxamDRMfOGV5gyZPnyX1BB" }
【问题讨论】:
标签: json utf-8 base64 utf-16 utf-32
对于使用 base64 编码的二进制数据的 JSON (UTF-8/16/32),什么是最节省空间的字符集?
{ data: "jA0EAwMCxamDRMfOGV5gyZPnyX1BB" }
【问题讨论】:
标签: json utf-8 base64 utf-16 utf-32
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)的文本。
【讨论】: