English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS Base Tutorial

NodeJS Express.js

NodeJS Buffer&URL;

NodeJS MySql

NodeJS MongoDB

NodeJS Fichier(FS)

NodeJS Autres

Node.js Buffer(缓冲区) – création, écriture et lecture

Node.js Buffer

Node.js Buffer– Le Buffer de Node.js est une classe qui aide à traiter et à utiliser les flux de octets de huit bits. Il apparaît généralement en traitant les flux de données TCP et les opérations du système de fichiers.

La mémoire originale allouée au tampon dans Node.js V8En dehors de la mémoire heap.

Dans ce tutoriel, nous allons apprendre à

  • Créer un tampon

  • Écrire des données dans le tampon

  • Lire des données à partir du tampon

Node.js – création de tampon

Il y a de nombreuses méthodes pour créer un tampon dans Node.js. Nous allons les étudier une par une.

Tampon de la longueur spécifiée

Pour créer un tampon de la longueur spécifiée, utilisez la méthode Buffer.allocUnsafe(int).

Syntaxe

Buffer.allocUnsafe(bufferLength);
const buf1 = Buffer.allocUnsafe(10);

bufferLength est un entier, spécifiant la longueur du tampon à créer.

Le tampon créé n'est pas initialisé, ce qui signifie qu'il peut contenir des valeurs garbage. Vous pouvez utiliser fill() ou write() pour écraser les valeurs garbage.

Tampon alloué avec des zéros de la longueur spécifiée

Pour créer un tampon alloué avec des zéros de la longueur spécifiée, utilisez la méthode Buffer.alloc(int).
Syntaxe

Buffer.alloc(bufferLength);
const buf1 = Buffer.alloc(10);

 bufferLength est un entier, spécifiant la longueur du tampon à créer. Le tampon contient toutes les positions de mémoire remplies par zéro.

Buffer.alloc() est plus lent que Buffer.allocUnsafe().

Tampon de longueur spécifiée, rempli de valeurs spécifiées

Pour créer un tampon de longueur spécifiée et rempli de valeurs spécifiées, utilisez la méthode Buffer.alloc(int, int).
Syntaxe
Buffer.alloc(bufferLength, value);
 

  const buf1 = Buffer.allocUnsafe(10, 3);

 bufferLength est un entier, spécifiant la longueur du tampon à créer. Le tampon contient toutes les positions de mémoire remplies par la valeur.

Node.js – Écrire dans le tampon

La classe Buffer possède de nombreuses méthodes pour écrire des données de différents formats dans le tampon. Dans cette section, nous allons apprendre à écrire une chaîne dans un tampon.
Pour écrire une chaîne dans le tampon, utilisez la méthode Buffer.write.
Syntaxe

Buffer.write(string[, offset[, length]][, encoding]);
  const buf1 = Buffer.allocUnsafe(100);
 
  const len = buf1.write('welcomeuser',2,5,'utf8');

Une chaîne de caractères commençant à l'offset, avec le nombre de caractères spécifié, est écrite dans le tampon avec le format d'encodage spécifié.

La méthode write() retourne le nombre d'octets écrits dans le tampon.

Node.js – Lire à partir du tampon

Pour lire des octets à partir du tampon, utilisez la méthode Buffer.values.
Syntaxe

Buffer.values();

Créer et retourner buf1Iterator de valeurs (octets). Lorsque l'on utilise Buffer dans une expression for..of, cette fonction est automatiquement appelée.

  const buf1 = Buffer.allocUnsafe(11);
 
  const len = buf1.write('welcomeuser');
 
  for(const byt of buf1.values()()){
    console.log(byt);
  }

Résultat de la sortie

$ node read-buffer.js  
119
101
108
99
111
109
101
117
115
101
114

Conclusion :

Dans ce tutoriel Node.js - Dans le tampon de Node.jsNous avons appris à créer, écrire et lire des tampons dans Node.js. Dans les prochains tutoriels, nous allons découvrir des opérations amusantes sur les tampons.