用于使用 base64 编码的二进制数据的 JSON(UTF-8/16/32)最节省空间的字符集是什么?
{ data: "jA0EAwMCxamDRMfOGV5gyZPnyX1BB" }
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)的文本。