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