Berechnen der Größe eines JavaScript-Strings in Bytes
Die Frage dreht sich um die Bestimmung der Größe eines JavaScript-Strings in Bytes. Bei einer vom Server empfangenen UTF-8-codierten Zeichenfolge mit einer Größe von etwa 500 KB untersucht die Untersuchung Faktoren, die die Zeichenfolgengröße beeinflussen, einschließlich der Verwendung von UCS-2 in JavaScript, möglicher Variationen bei JavaScript-Implementierungen und der Auswirkungen der Seitencodierung oder des Inhaltstyps .
Bestimmen der String-Größe in JavaScript
Um die Größe eines Strings in Bytes zu ermitteln, kann das Blob-Objekt verwendet werden. Der Blob-Konstruktor verwendet ein Array, das die zu messende Zeichenfolge enthält. Die Größeneigenschaft des resultierenden Blob-Objekts stellt dann die Größe in Bytes bereit.
Beispiele für die Berechnung der JavaScript-Stringgröße
Zur Veranschaulichung finden Sie hier einige Beispiele für Strings Mit dem Blob-Objekt berechnete Größen:
console.info(
new Blob(['?']).size, // 4
new Blob(['?']).size, // 4
new Blob(['??']).size, // 8
new Blob(['??']).size, // 8
new Blob(['I\'m a string']).size, // 12
// from Premasagar correction of Lauri's answer for
// strings containing lone characters in the surrogate pair range:
// https://stackoverflow.com/a/39488643/6225838
new Blob([String.fromCharCode(55555)]).size, // 3
new Blob([String.fromCharCode(55555, 57000)]).size // 4 (not 6)
);
Zusätzliche zu berücksichtigende Faktoren
Während JavaScript hauptsächlich UCS-2 verwendet, können bestimmte Implementierungen von diesem Standard abweichen. Darüber hinaus können die Seitenkodierung und der Inhaltstyp die Größendarstellung der Zeichenfolge beeinflussen. Es ist wichtig, die spezifische JavaScript-Implementierung und Browserumgebung auf mögliche Abweichungen zu prüfen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3