Nous savons que l'Objet Buffer sous le framework Node.js peut fournir un bon support pour les données binaires, donc obtenir la longueur réelle en octets d'un objet Buffer est une fonction incontournable. Le framework Node.js fournit aux développeurs une méthode Buffer.byteLength() Ci-dessous, nous utilisons une routine fournie par le document officiel pour démontrer l'utilisation de cette méthode aux lecteurs.
Le code principal de ch04.buffer-byteLength.js dans cet exemple est le suivant :
/** * ch04.buffer-byteLength.js */ console.info("------Buffer.byteLength()------"); console.info(); str = '\u00bd + \u00bc = \u00be'; //定义字符串 //½ + ¼ = ¾: 9 characters, 12 bytes console.log(str + ": " + str.length + " characters, " + Buffer.byteLength(str, 'utf8') + " bytes"); console.info(); console.info("------Buffer.byteLength()------");
【Analyse du code】
La ligne 06 du code définit et initialise une variable de chaîne. Le nom de la variable est str et le contenu des données est u00bd + u00bc = u00be. Les lecteurs peuvent accéder aux sites Web pertinents pour vérifier que ces codes hexadécimaux représentent le caractère " ½. ", u00bc représente le caractère "¼", et u00be représente le caractère "¾" ; puis, dans la ligne 08 du code, la longueur de la variable chaîne str est affichée en imprimant la propriété str.length, et les caractères sont affichés via la méthode Buffer.byteLength() La longueur réelle en octets de la variable chaîne str La syntaxe de la méthode Buffer.byteLength() est la suivante :
Syntaxe : Buffer.byteLength(string[, encoding])
Cette méthode renvoie un nombre pour représenter la longueur réelle en octets du paramètre de chaîne. Le paramètre d'encodage est par défaut au format d'encodage "utf8".
D'après les résultats présentés dans la figure 4.4, nous pouvons voir que l'attribut length de la chaîne str est long de 9 caractères et que la longueur des octets occupés est de 12, nous pouvons donc connaître "½", "¼" et "¾". Ces trois caractères occupent en réalité deux octets.
Conseils : Dans cette section, nous devons comprendre les similitudes et les différences entre les deux concepts de caractères et d'octets. Dans le codage informatique, un octet occupe 8 bits (1 octet =. 8 bits) et un caractère peut être un caractère à un octet ou un caractère à deux octets. De plus, la méthode Buffer.byteLength() est souvent utilisée lors de l'écriture des en-têtes de réponse http. Si vous souhaitez réécrire l'en-tête de réponse http Cotent-Length, veillez à utiliser la méthode Buffer.byteLength() au lieu de String.prototype length. attribut.
Ce qui précède est le premier extrait de code Node.js super pratique partagé avec vous. Vous trouverez d'autres extraits de code Node.js ci-dessous. Ne le manquez pas, j'espère qu'il sera utile à l'apprentissage de tout le monde.