Como copiar, comparar e concatenar um buffer em Node.js?

Como Copiar Comparar E Concatenar Um Buffer Em Node Js



Buffer é a coleção de dados binários armazenados temporariamente em uma memória específica. Seu principal objetivo é gerenciar e transferir os dados binários armazenados de um local para outro. No Node.js, o usuário pode acessar aquela memória específica com a ajuda do módulo “Buffer” integrado.

Buffer é mais semelhante ao “array” JavaScript, mas com uma diferença: seu tamanho não pode ser alterado depois de definido. Os recursos comuns deste módulo são escrever, ler, comparar, copiar, converter e muitos outros. Todas as operações especificadas podem ser executadas usando seus métodos e propriedades integrados.

Este blog fornecerá uma breve descrição de como copiar, comparar e concatenar um buffer em Node.js.







Vamos começar com a operação “copiar”.



Como copiar um buffer em Node.js?

O ' Buffer.copy() ”O método permite que os usuários copiem um objeto buffer para outro. Como resultado, este método retorna um buffer recém-atualizado. O funcionamento deste método depende da seguinte sintaxe:



bufante. cópia de ( targetBuffer [ , alvoStart ] [ , fonteIniciar ] [ , fonteFim ] )

De acordo com a sintaxe acima, o método “copy()” executa os seguintes parâmetros:





  • targetBuffer : especifica o objeto Buffer cujo conteúdo precisa ser copiado para outro objeto buffer.
  • alvoStart : Indica a posição onde será iniciada a operação de cópia para. Seu valor padrão é “0”.
  • fonteIniciar : Indica a posição onde a operação de cópia será iniciada. Seu valor padrão é “0”.
  • fonteFim : Representa a posição final onde a operação de cópia será interrompida. Seu valor padrão é “fim de um buffer”.

O bloco de código a seguir mostra a implementação prática do método “copy()”:

era buf1 = Amortecedor. de ( '123' ) ;
era buf2 = Amortecedor. alocar ( 3 ) ;
buf1. cópia de ( buf2 ) ;
console. registro ( 'O conteúdo do Buffer2 é:' + buf2. para sequenciar ( ) ) ;

Nas linhas de código acima:



  • O ' de() ”O método cria um objeto buffer com os inteiros especificados.
  • O ' alocar() ”O método constrói um objeto buffer de um tamanho alocado.
  • O ' cópia de() ”O método copia o conteúdo pré-existente do primeiro buffer para o segundo objeto buffer.
  • O ' para sequenciar() ”O método decodifica o conteúdo copiado em formato de string (legível por humanos) e, em seguida, exibe-o no console usando o método “ console.log() ”Método.

Saída
Execute o comando fornecido para iniciar o arquivo “.js”:

aplicativo de nó. js

Pode-se ver que o conteúdo de um buffer foi copiado para o segundo buffer:

Como comparar um buffer em Node.js?

Para comparar um buffer em Node.js, use o “ Buffer.compare() ”Método. Este método compara dois buffers e retorna um valor numérico como saída padrão que mostra as diferenças definidas. Esses valores numéricos estão listados abaixo junto com suas diferenças definidas:

  • 0 : Os buffers são iguais.
  • 1 : O buffer 1 é maior que o buffer 2.
  • -1 : O buffer 1 é inferior ao buffer 2.

Sintaxe

bufante. comparar ( outroBuffer ) ;

A sintaxe do método “compare()” suporta apenas um argumento essencial que é “ outroBuffer ”.

Vamos usar a sintaxe definida acima de forma prática:

era buf1 = Amortecedor. de ( 'Linux' ) ;
era buf2 = Amortecedor. de ( 'Linux' ) ;
era x = Amortecedor. comparar ( buf1 , buf2 ) ;
console. registro ( x ) ;

era buf1 = Amortecedor. de ( 'EU' ) ;
era buf2 = Amortecedor. de ( 'H' ) ;
era x = Amortecedor. comparar ( buf1 , buf2 ) ;
console. registro ( x ) ;

era buf1 = Amortecedor. de ( 'H' ) ;
era buf2 = Amortecedor. de ( 'EU' ) ;
era x = Amortecedor. comparar ( buf1 , buf2 ) ;
console. registro ( x ) ;

Nas linhas de código acima:

  • O ' de() ”Os métodos criam vários objetos buffer com a string especificada.
  • O ' comparar() ”O método compara os objetos buffer especificados que passaram como seu argumento.
  • O ' console.log() ”O método exibe o resultado do método “compare ()” no console.

Saída
Execute o arquivo “.js” usando o comando abaixo:

aplicativo de nó. js

Os valores numéricos exibidos como saída resultante mostram claramente a diferença definida:

Agora, passe para a concatenação de buffers no Node.js.

Como concatenar buffers em Node.js?

O ' concat() ”O método ajuda a juntar mais de um buffer. Este método concatena todos os buffers de destino em uma matriz em um objeto buffer, mesclando seu conteúdo.

Sintaxe

Amortecedor. concat ( chega , comprimento ] )

A sintaxe acima funciona nos dois parâmetros a seguir:

  • chega : especifica a matriz de buffers que os usuários desejam concatenar.
  • comprimento : denota o comprimento do buffer concatenado.

O trecho de código a seguir praticamente concatena os buffers fornecidos usando o método “concat()” definido:

era buf1 = Amortecedor. de ( ' \n Linux \n ' ) ;
era buf2 = Amortecedor. de ( 'Local na rede Internet' ) ;
era buf3 = Amortecedor. concat ( [ buf1 , buf2 ] ) ;
console. registro ( 'O conteúdo do Buffer3 é:' + buf3. para sequenciar ( ) ) ;

No trecho de código acima:

  • O ' de() ”Os métodos criam dois objetos buffer com a string especificada, respectivamente.
  • O ' concat() ”O método une o buffer especificado em uma matriz em um objeto buffer.
  • O ' para sequenciar() ”O método decodifica o conteúdo do buffer concatenado em formato de string (legível por humanos) e, em seguida, exibe-o no console usando o método “ console.log() ”Método.

Saída
Agora, execute o comando indicado abaixo para executar o arquivo “.js”:

aplicativo de nó. js

A saída exibe um novo objeto buffer criado no resultado da concatenação dos buffers especificados:

Abordamos como copiar, comparar e concatenar o buffer no Nodejs.

Conclusão

Para copiar o buffer no Nodejs, use o “ Buffer.copy() ” e para efeito de comparação aplique o “ Buffer.compare() ”Método. Além disso, para concatenar buffers, utilize o “ Buffer.concat() ”Método. Todos esses métodos são predefinidos, simples e fáceis de usar. Esta postagem forneceu uma breve descrição de como copiar, comparar e concatenar um buffer em Node.js.