8

非常に大きな ( >1MB ) ビットマスクを文字列としてメモリに保存していますが、JS が文字列を内部に保存する方法に興味があります。という事実に基づいて、私は感じています。

String.fromCharCode( 65535 ).charCodeAt( 0 ) === 65535

、すべての文字列がユニコードであることは確かですが、私にはわかりません。基本的に、メモリ使用量の観点から、8ビット文字よりも16ビット文字に対してビットマスクする方が効率的かどうかを調べようとしていますか?

4

2 に答える 2

1

これをチェックしてください:

https://developer.mozilla.org/en-US/docs/Mozilla_internal_string_guide#IDL_String_types

ブラウザーに大きく依存していると思いますが、Mozilla のドキュメントでは、JS 文字列に対して内部的にどのように処理を行っているかについて説明されています。

簡単な答えは、UTF-16 を使用することです。

http://en.wikipedia.org/wiki/UTF-16

于 2013-03-06T23:13:42.473 に答える
0

この議論をチェックしてください。

JavaScript 文字列 - UTF-16 と UCS-2?

つまり、一部の Javascript エンジンが 16 ビット エンコーディングを使用しているからといって、それが UTF16 になるわけではありません。エッジ ケースのサロゲート ペアは、2 つの間で非常に異なる方法で処理されます。

于 2013-03-07T00:26:33.857 に答える