Cum se copiază, se compară și se concatenează un buffer în Node.js?

Cum Se Copiaza Se Compara Si Se Concateneaza Un Buffer In Node Js



Bufferul este colecția de date binare care sunt stocate temporar într-o anumită memorie. Scopul său principal este de a gestiona și transfera datele binare stocate dintr-un loc în altul. În Node.js, utilizatorul poate accesa acea memorie particulară cu ajutorul modulului „Buffer” încorporat.

Buffer-ul este mai asemănător cu „matricea” JavaScript, dar cu o diferență, adică dimensiunea sa nu poate fi schimbată odată ce a fost setat. Caracteristicile comune ale acestui modul sunt scrierea, citirea, compararea, copierea, conversia și multe altele. Toate operațiunile specificate pot fi efectuate folosind metodele și proprietățile încorporate.

Acest blog va oferi o scurtă descriere a copierii, comparării și concatenării unui buffer în Node.js.





Să începem cu operația de „copiere”.



Cum să copiați un buffer în Node.js?

Buffer.copy() ” permite utilizatorilor să copieze un obiect tampon în altul. Ca rezultat, această metodă returnează un buffer nou actualizat. Funcționarea acestei metode depinde de următoarea sintaxă:



buf. copie ( targetBuffer [ , targetStart ] [ , sourceStart ] [ , sourceEnd ] )

Conform sintaxei de mai sus, metoda „copy()” are următoarele sarcini:





  • targetBuffer : Specifică obiectul Buffer al cărui conținut trebuie copiat într-un alt obiect tampon.
  • targetStart : Indică poziția în care va începe operația de copiere. Valoarea sa implicită este „0”.
  • sourceStart : Indică poziția în care va începe operația de copiere. Valoarea sa implicită este „0”.
  • sourceEnd : Reprezintă poziția finală în care operația de copiere se va opri. Valoarea sa implicită este „sfârșitul unui buffer”.

Următorul bloc de cod arată implementarea practică a metodei „copy()”:

a fost buf1 = Tampon. din ( '123' ) ;
a fost buf2 = Tampon. aloc ( 3 ) ;
buf1. copie ( buf2 ) ;
consolă. Buturuga ( 'Conținutul Buffer2 este: ' + buf2. toString ( ) ) ;

În liniile de cod de mai sus:



  • din() ” metoda creează un obiect tampon cu numerele întregi specificate.
  • alloc() ” metoda construiește un obiect tampon de o dimensiune alocată.
  • copie() ” metoda copiază conținutul preexistent al primului buffer în al doilea obiect tampon.
  • toString() ” metoda decodifică conținutul copiat în format șir (lizibil de către om) și apoi îl afișează în consolă folosind „ console.log() ” metoda.

Ieșire
Executați comanda dată pentru a iniția fișierul „.js”:

aplicația nodului. js

Se poate observa că conținutul unui buffer a fost copiat în al doilea buffer:

Cum se compară un buffer în Node.js?

Pentru a compara un buffer în Node.js, utilizați „ Buffer.compare() ” metoda. Această metodă compară două buffere și returnează o valoare numerică ca rezultat standard care arată diferențele definite. Aceste valori numerice sunt enumerate mai jos împreună cu diferențele lor definite:

  • 0 : Tampoanele sunt egale.
  • 1 : tamponul 1 este mai mare decât tamponul 2.
  • -1 : Bufferul 1 este mai mic decât Bufferul 2.

Sintaxă

buf. comparaţie ( altBuffer ) ;

Sintaxa metodei „compare()” acceptă doar un argument esențial care este „ altBuffer ”.

Să folosim practic sintaxa definită mai sus:

a fost buf1 = Tampon. din ( „Linux” ) ;
a fost buf2 = Tampon. din ( „Linux” ) ;
a fost X = Tampon. comparaţie ( buf1 , buf2 ) ;
consolă. Buturuga ( X ) ;

a fost buf1 = Tampon. din ( „L” ) ;
a fost buf2 = Tampon. din ( 'H' ) ;
a fost X = Tampon. comparaţie ( buf1 , buf2 ) ;
consolă. Buturuga ( X ) ;

a fost buf1 = Tampon. din ( 'H' ) ;
a fost buf2 = Tampon. din ( „L” ) ;
a fost X = Tampon. comparaţie ( buf1 , buf2 ) ;
consolă. Buturuga ( X ) ;

În rândurile de cod de mai sus:

  • din() ” metodele creează mai multe obiecte tampon cu șirul specificat.
  • comparaţie() ” metoda compară obiectele tampon specificate care au trecut ca argument.
  • console.log() ” afișează rezultatul metodei “compare()” pe consolă.

Ieșire
Rulați fișierul „.js” folosind comanda de mai jos:

aplicația nodului. js

Valorile numerice afișate ca rezultat rezultat arată clar diferența definită:

Acum, treceți la concatenarea bufferelor în Node.js.

Cum se concatenează tampoanele în Node.js?

concat() ” metoda ajută la alăturarea a mai mult de un buffer. Această metodă concatenează toate tampoanele vizate dintr-o matrice într-un singur obiect tampon prin îmbinarea conținutului lor.

Sintaxă

Tampon. concat ( arr , lungime ] )

Sintaxa de mai sus funcționează pe următorii doi parametri:

  • arr : Specifică matricea de buffer-uri pe care utilizatorii doresc să le concateneze.
  • lungime : Indică lungimea tamponului concatenat.

Următorul fragment de cod concatenează practic tampoanele date folosind metoda definită „concat()”:

a fost buf1 = Tampon. din ( ' \n Linux \n ' ) ;
a fost buf2 = Tampon. din ( „Site web” ) ;
a fost buf3 = Tampon. concat ( [ buf1 , buf2 ] ) ;
consolă. Buturuga ( 'Conținutul Buffer3 este: ' + buf3. toString ( ) ) ;

În fragmentul de cod de mai sus:

  • din() ” metodele creează două obiecte buffer cu șirul specificat, respectiv.
  • concat() ” metoda îmbină tamponul specificat într-o matrice într-un obiect tampon.
  • toString() ” metoda decodifică conținutul buffer-ului concatenat în format șir (lizibil de om) și apoi îl afișează în consolă folosind „ console.log() ” metoda.

Ieșire
Acum, rulați comanda menționată mai jos pentru a executa fișierul „.js”:

aplicația nodului. js

Ieșirea afișează un nou obiect tampon care este creat în rezultatul concatenării bufferelor specificate:

Am abordat cum să copiați, să comparăm și să concatenați tamponul în Nodejs.

Concluzie

Pentru a copia buffer-ul în Nodejs, utilizați „ Buffer.copy() ” și pentru comparație aplicați „ Buffer.compare() ” metoda. În plus, pentru a concatena tampoanele, utilizați „ Buffer.concat() ” metoda. Toate aceste metode sunt predefinite, simple, precum și ușor de utilizat. Această postare a oferit o scurtă descriere a copierii, comparării și concatenării unui buffer în Node.js.