notes d'étude node.js - tampon de l'API

Note : Ce blog est une note d'étude lors de l'apprentissage des bases de l'attaque de Node.js (2) , merci à M. Scott pour son cours.

Buffer gère les données binaires dans nodejs, car les chaînes js sont stockées en UTF-8 et la capacité à gérer le binaire est très faible. La couche réseau traite les demandes et les réponses en binaire, donc nodejs a l'interface tampon comme zone tampon pour stocker les données binaires, et fournit quelques méthodes pour traiter les données dans la zone tampon. Le tampon est globalement accessible dans nodejs, aucune exigence n'est requise pour le référencer et le charger.

Buffer est un objet et un constructeur avec ses propres propriétés et méthodes statiques. L'instance générée par Buffer new représente en fait une section de mémoire dans le moteur V8, et c'est en fait un tableau dont les membres sont tous des valeurs entières. Le tampon doit spécifier le format lors du passage des paramètres, la valeur par défaut est UTF-8

Entrez ce qui suit sur la ligne de commande

new Buffer('Hello 慕课网');

retour:

$ <Buffer 48 65 6c 6c 6f 20 e6 85 95 e8 af be e7 bd 91>

Parce que l'UTF-8 par défaut. Vous pouvez également modifier le format d'encodage

new Buffer('Hello 慕课网', 'base64');

retour:

$ <Buffer 1d e9 65 a1 44>

C'est une chaîne au format base64.

Buffer peut allouer de la mémoire des manières suivantes :

var buf = new Buffer(8);  //分配长度为8的内存
buf.length  //打印长度

De plus, il existe trois façons d'instancier buffer

1. Instancier en passant directement les paramètres

var buf2 = new Buffer('12345678');
console.log(buf2)

retour:

$ <Buffer 31 32 33 34 35 36 37 38>

2. En spécifiant la longueur de la mémoire, écrivez des données dans la mémoire allouée pour instancier

var buf3 = new Buffer(7);
buf.write('12345678');
console.log(buf3)

retour:

$ <Buffer 31 32 33 34 35 36 37>

Le huitième bit a disparu, donc tant que la longueur du tampon est spécifiée, l'excédent écrit ne sera pas mis en cache.

3. Initialiser par tableau

var buf4 = new Buffer([1,2,3,4]);
console.log(buf4)

retour:

$ <Buffer 01 02 03 04>

Vous pouvez accéder à une valeur dans un tableau en indicant :

console.log(buf4[1]) //取数组的第二位

retour:

$ 2

Notez que dans le tableau Buffer, si la décimale entrante est directement arrondie, comme [1, 2.33 ,3 ,4], la valeur du deuxième chiffre est toujours 2.

Je suppose que tu aimes

Origine blog.csdn.net/sriting/article/details/79632616
conseillé
Classement