Maison  >  Article  >  interface Web  >  Comment déterminer la taille d’une chaîne JavaScript en octets ?

Comment déterminer la taille d’une chaîne JavaScript en octets ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-19 07:17:01668parcourir

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

Taille de la chaîne JavaScript en octets

Problème :

Vous avez une chaîne JavaScript qui occupe environ 500 Ko lors de la transmission via le serveur en codage UTF-8. Comment pouvez-vous déterminer sa taille en JavaScript ?

Contexte :

JavaScript utilise le codage UCS-2, utilisant généralement deux octets par caractère. Cependant, des variations potentielles dans l'implémentation de JavaScript ou dans l'encodage de type de page/contenu soulèvent des questions quant à savoir s'il s'agit d'une relation constante.

Réponse :

Pour obtenir la taille de la chaîne en octets, exploitez le constructeur Blob comme suit :

<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>

Explication :

L'objet Blob vous permet de représenter des données binaires et de récupérer sa taille en octets. En transmettant votre chaîne dans un tableau au constructeur Blob, vous pouvez obtenir sa taille réelle, quelles que soient les variations potentielles dans l'encodage ou l'implémentation des caractères.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn