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