Heim >Web-Frontend >js-Tutorial >Wie bestimme ich die Größe eines JavaScript-Strings in Bytes?

Wie bestimme ich die Größe eines JavaScript-Strings in Bytes?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-19 07:17:01759Durchsuche

How to Determine the Size of a JavaScript String in Bytes?

JavaScript-String-Größe in Bytes

Problem:

Sie haben einen JavaScript-String, der belegt ca. 500 KB bei Übertragung über den Server in UTF-8-Kodierung. Wie können Sie seine Größe in JavaScript bestimmen?

Hintergrund:

JavaScript verwendet UCS-2-Codierung, normalerweise mit zwei Bytes pro Zeichen. Mögliche Variationen in der JavaScript-Implementierung oder der Seiten-/Inhaltstyp-Kodierung werfen jedoch die Frage auf, ob dies eine konstante Beziehung ist.

Antwort:

Um die Größe der Zeichenfolge zu ermitteln Bytes nutzen Sie den Blob-Konstruktor wie folgt:

<code class="javascript">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

  // Correction for strings with lone characters in the surrogate pair range:
  new Blob([String.fromCharCode(55555)]).size,       // 3
  new Blob([String.fromCharCode(55555, 57000)]).size // 4 (not 6)
);</code>

Erklärung:

Mit dem Blob-Objekt können Sie Binärdaten darstellen und deren Größe in Bytes abrufen. Indem Sie Ihren String innerhalb eines Arrays an den Blob-Konstruktor übergeben, können Sie seine tatsächliche Größe erhalten, unabhängig von möglichen Abweichungen in der Zeichenkodierung oder Implementierung.

Das obige ist der detaillierte Inhalt vonWie bestimme ich die Größe eines JavaScript-Strings in Bytes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn