JSON.stringify()到UTF-8

时间:2014-12-02 15:34:55

标签: javascript json utf-8 utf-16

据我所知,Javascript使用UTF-16作为字符串的标准。使用JSON.stringify(),我可以从对象创建一个JSON字符串。

JSON字符串是UTF-16编码的吗?

我可以将该字符串转换(希望快)到UTF-8以节省大文件(1MB JSON)的带宽吗?

1 个答案:

答案 0 :(得分:2)

  

JavaScript engines are allowed to use either UCS-2 or UTF-16.

所以,是的,JSON.stringify()将以您的实现用于字符串的任何编码返回一个字符串。如果您要在脚本的上下文中找到更改编码的方法,则它将不再是有效的JavaScript字符串。

但是,为了通过网络对其进行序列化,我希望它能自动转码为HTTP请求的字符集(假设您正在谈论HTTP)。因此,如果您通过HTTP POST以字符集UTF-8发送它,您的浏览器应该在发送之前透明地处理该数据的转码。

否则浏览器真的很难处理字符集。