1. ホーム
  2. javascript

[解決済み] JavaScriptの文字列は何バイトですか?

2022-05-17 13:10:38

質問

サーバーからUTF-8で送信されたときに約500Kになるjavascriptの文字列を持っています。JavaScriptでそのサイズを知るにはどうしたらよいでしょうか。

JavaScriptはUCS-2を使用しているので、1文字あたり2バイトということでしょうか。しかし、それは JavaScript の実装に依存するのでしょうか。あるいは、ページのエンコーディングや、content-typeに依存するのでしょうか?

どのように解決するのですか?

String の値は実装に依存しないので、それによると ECMA-262 第 3 版の仕様 では、各文字は UTF-16 テキストの単一の 16 ビット単位 :

4.3.16 文字列の値

文字列値はString型のメンバで 0以上の16ビット符号なし整数値の有限順序シーケンスです。 16ビット符号なし整数値の有限順序シーケンスです。

注:各値は通常 の単一の16ビット単位を表します。 UTF-16テキストを表しますが、この言語では 制限や要件はありません。 値には 16ビットの符号なし整数であること以外は,特に制限や要件を設けていない。