freeCodeCamp/guide/portuguese/nodejs/buffer/index.md

3.0 KiB

title localeTitle
Nodejs- Buffer Nodejs- Buffer

Amortecedor

Binário é simplesmente um conjunto ou uma coleção de 1 e 0 . Cada número em um binário, cada 1 e 0 em um conjunto são chamados um pouco . O computador converte os dados para este formato binário para armazenar e executar operações. Por exemplo, os seguintes são cinco binários diferentes:

10, 01, 001, 1110, 00101011

JavaScript não possui dados de tipo de byte em sua API principal. Para manipular dados binários O Node.js inclui uma implementação de buffer binário com um módulo global chamado Buffer .

Criando um buffer

Existem diferentes maneiras de criar um buffer no Node.js. Você pode criar um buffer vazio com um tamanho de 10 bytes.

const buf1 = Buffer.alloc(10); 

De strings codificadas em UTF-8, a criação é assim:

const buf2 = Buffer.from('Hello World!'); 

Existem diferentes codificações aceitas ao criar um Buffer:

  • ascii
  • utf-8
  • base64:
  • latin1
  • binário
  • hexadecimal

Existem três funções separadas alocadas na API do Buffer para usar e criar novos buffers. Nos exemplos acima, vimos alloc() e from() . O terceiro é allocUnsafe() .

const buf3 = Buffer.allocUnsafe(10); 

Quando retornada, esta função pode conter dados antigos que precisam ser sobrescritos.

Interações com o buffer

Existem diferentes interações que podem ser feitas com a API do Buffer. Nós vamos cobrir a maioria deles aqui. Vamos começar com a conversão de um buffer para o JSON.

let bufferOne = Buffer.from('This is a buffer example.'); 
 console.log(bufferOne); 
 
 // Output: <Buffer 54 68 69 73 20 69 73 20 61 20 62 75 66 66 65 72 20 65 78 61 6d 70 6c 65 2e> 
 
 let json = JSON.stringify(bufferOne); 
 console.log(json); 
 
 // Output: {"type": "Buffer", "data": [84,104,105,115,32,105,115,32,97,32,98,117,102,102,101,114,32,101,120,97,109,112,108,101,46]} 

O JSON especifica que o tipo de objeto que está sendo transformado é um Buffer e seus dados. Converter um buffer vazio em JSON nos mostrará que ele não contém nada além de zeros.

const emptyBuf = Buffer.alloc(10); 
 
 emptyBuf.toJSON(); 
 
 // Output: { "type": "Buffer", "data": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] } 

Observe que a API Buffer também fornece uma função direta para o toJSON() para converter um buffer em um objeto JSON. Para examinar o tamanho de um buffer, podemos usar o método length .

emptyBuf.length; 
 // Output: 10 

Agora vamos converter buffer para uma string legível, no nosso caso, o utf-8 codificado.

console.log(bufferOne.toString('utf8')); 
 
 // Output: This is a buffer example. 

.toString() por padrão converte um buffer em uma string de formato utf-8. É assim que você decodifica um buffer. Se você especificar uma codificação, poderá converter o buffer em outra codificação

console.log(bufferOne.toString('base64'));