使用base64编码的二进制数据为json使用什么字符集?

时间:2014-12-02 17:20:55

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

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

{ data: "jA0EAwMCxamDRMfOGV5gyZPnyX1BB" }

1 个答案:

答案 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)。