如何确定使用了哪种编码 JSON.stringify()?

How can I determine which encoding JSON.stringify() used?

我正在组装一个 node/express 应用程序,它将返回使用 JSON.stringify() 序列化的 JSON。我想设置 Content-Type HTTP header 以包含编码信息——例如 application/json; charset=utf-16

我的理解是 JSON.stringify() 可能会产生 UTF-16UCS-2 编码结果。我如何知道使用了哪种编码来序列化 JSON,以及告知 user-agents 正确编码的最佳方式是什么?

据我了解,它 returns 类型 String 的实例,定义为零个或多个 16 位无符号整数的序列(参见 spec).

我引用上面的link:

A String value is a member of the String type. Each integer value in the sequence usually represents a single 16-bit unit of UTF-16 text. However, ECMAScript does not place any restrictions or requirements on the values except that they must be 16-bit unsigned integers.

因此,我猜它是实现定义的。 This 可能是您感兴趣的规范部分。