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

90 lines
3.0 KiB
Markdown

---
title: Nodejs- Buffer
localeTitle: 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.
```javascript
const buf1 = Buffer.alloc(10);
```
De strings codificadas em UTF-8, a criação é assim:
```javascript
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()` .
```javascript
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.
```javascript
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.
```javascript
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` .
```javascript
emptyBuf.length;
// Output: 10
```
Agora vamos converter buffer para uma string legível, no nosso caso, o utf-8 codificado.
```javascript
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
```javascript
console.log(bufferOne.toString('base64'));
```