1. JS では、「a」はメモリ内で 2 バイトまたは 1 バイトを占有しますか? JS は UCS-2 でエンコードされているため、2 バイト必要ですよね。
2. JS 文字列は異なるエンジンでも同じようにエンコードされますか?
3. JS では、文字列はメモリ内の「終わり」をどのように表しますか? \0
?
PHP中文网2017-07-05 10:48:22
私の知っていることを答えさせてください:
1) 文字 a (英語の最初の小文字) は 2 バイトを占めます。JS は UCS-2 を使用しますが、後に UTF16 と互換性がありました。
ただし、一部のまれな単語は必ずしも 2 バイト長であるとは限らず、複数の場合があります。関連する知識については、Ruan Yifeng の文字列知識の説明も参照することをお勧めしますWiki 内の関連エントリを参照し、以下の参考リンクを参照してください (主に標準化団体からの文書)。
2) エンコーディングは ECMA で規定されており、スクリプト言語としては ECMA ドキュメントによって決定されます。
3) これはエンジンに関連しています。
この質問への返信を参照できます
https://www.zhihu.com/questio...