サーバーから UTF-8 で送信される約 500K の JavaScript 文字列があります。JavaScript でそのサイズを確認するにはどうすればよいでしょうか?
JavaScript は UCS-2 を使用していることは知っていますが、これは 1 文字あたり 2 バイトを意味しますか。ただし、これは JavaScript の実装によって異なりますか? または、ページのエンコードやコンテンツ タイプによって異なりますか?
ベストアンサー1
あなたはブロブ文字列のサイズをバイト単位で取得します。
例:
console.info(
new Blob(['��']).size, // 4
new Blob(['��']).size, // 4
new Blob(['����']).size, // 8
new Blob(['����']).size, // 8
new Blob(['I\'m a string']).size, // 12
// from Premasagar correction of Lauri's answer for
// strings containing lone characters in the surrogate pair range:
// https://stackoverflow.com/a/39488643/6225838
new Blob([String.fromCharCode(55555)]).size, // 3
new Blob([String.fromCharCode(55555, 57000)]).size // 4 (not 6)
);