Verwendet JS immer zwei Bytes pro Zeichen, um Strings zu speichern?

8

Ich speichere eine sehr große (& gt; 1MB) Bitmaske im Speicher als String und bin gespannt, wie JS intern Strings speichert. Ich habe das Gefühl, basierend auf der Tatsache, dass

%Vor%

, dass alle Strings Unicode sind, aber ich bin mir nicht sicher. Im Grunde versuche ich herauszufinden, ob es im Hinblick auf die Speichernutzung effizienter wäre, Bit-Masken gegen 16-Bit-Zeichen als 8-Bit-Zeichen zu erstellen?

    
Mark Kahn 06.03.2013, 23:09
quelle

2 Antworten

1

Sieh dir das an:

Ссылка

Ich glaube, es ist sehr Browser-abhängig, aber die Mozilla-Dokumentation beleuchtet, wie es intern für JS-Strings funktioniert.

Die kurze Antwort ist UTF-16

Ссылка

    
Daniel Williams 06.03.2013, 23:13
quelle
0

Sehen Sie sich diese Diskussion an.

JavaScript-Zeichenfolgen - UTF-16 vs UCS-2?

Kurz gesagt, nur weil einige Javascript-Engines eine 16-Bit-Codierung verwenden, macht es UTF16 NICHT. Randfall-Ersatzpaare werden VIEL unterschiedlich zwischen den beiden gehandhabt.

    
Jeremy J Starcher 07.03.2013 00:26
quelle