Javascript uses as far as I know UTF-16 fundamentally as a standard for strings. With JSON.stringify() I can create a JSON string from an object.
Is that JSON string UTF-16 encoded?
Can I convert (hopefully fast) that string to UTF-8 to save bandwidth for huge files (1MB JSON)?
JavaScript engines are allowed to use either UCS-2 or UTF-16.
So, yes, JSON.stringify()
will return a string in whatever encoding your implementation uses for strings. If you were to find a way to change that encoding within the context of your script, it would no longer be a valid JavaScript string.
For serialising it over a network, though, I would expect it to automatically be transcoded into the character set of the HTTP request (assuming you're talking about HTTP). So if you send it via HTTP POST with a character set of UTF-8, your browser should transparently handle the transcoding of that data before it is sent.
Otherwise browsers would really struggle with character set handling.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With