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

NodeJS Tutorial Básico

NodeJS Express.js

NodeJS Buffer&URL;

NodeJS MySql

NodeJS MongoDB

NodeJS Arquivos(FS)

Outros NodeJS

Node.js Buffer(缓冲区) – criar, escrever e ler

Node.js Buffer

Node.js Buffer– O Node.js Buffer é uma classe que ajuda a lidar e usar fluxos de octetos. Normalmente, ocorrem fluxos de octetos em operações de dados TCP e sistema de arquivos.

A memória original alocada para o buffer no Node.js V8Fora da memória heap.

Neste tutorial, vamos aprender como

  • Criar buffer

  • Escrever dados no buffer

  • Ler dados do buffer

Node.js – criar buffer

Existem muitos métodos para criar buffers no Node.js. Vamos estudá-los um por um.

Buffer de comprimento especificado

Para criar um buffer de comprimento especificado, use o método Buffer.allocUnsafe(int).

Sintaxe

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

bufferLength é um inteiro que especifica o comprimento do buffer a ser criado.

O buffer criado não está inicializado, o que significa que pode conter valores lixo. Você pode usar o método fill() ou write() para substituir os valores lixo.

Buffer de preenchimento zero de comprimento especificado

Para criar um buffer de preenchimento zero de comprimento especificado, use o método Buffer.alloc(int).
Sintaxe

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

 bufferLength é um inteiro que especifica o comprimento do buffer a ser criado. O buffer contém todas as posições de memória preenchidas com zero.

Buffer.alloc() é mais lento do que Buffer.allocUnsafe().

Buffer de comprimento especificado, preenchido com valor especificado

Para criar um buffer com comprimento especificado e preenchido com um valor especificado, use o método Buffer.alloc(int, int).
Sintaxe
Buffer.alloc(bufferLength, value);
 

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

 bufferLength é um inteiro que especifica o comprimento do buffer a ser criado. O buffer contém todas as posições de memória preenchidas com o valor.

Node.js – Escrita em Buffer

A classe Buffer tem muitos métodos para escrever dados em formatos diferentes em um buffer. Nesta seção, vamos aprender a escrever uma string em um buffer.
Para escrever uma string em um buffer, use o método Buffer.write.
Sintaxe

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

Uma string começando no offset, com o número de caracteres fornecidos pela.length, é escrita no buffer no formato de codificação especificado.

O método write() retorna o número de bytes escritos no buffer.

Node.js – Leitura de Buffer

Para ler bytes de um buffer, use o método Buffer.values.
Sintaxe

Buffer.values();

criar e retornar buf1um iterador de valores (bytes). Quando se usa Buffer no for..of, este método é automaticamente chamado.

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

Resultados de Saída

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

Conclusão:

Neste tutorial do Node.js – No buffer do Node.jsAprendemos como criar, escrever e ler buffers no Node.js. Nos próximos tutoriais, vamos aprender algumas operações interessantes sobre buffers.