Ako kopírovať, porovnávať a spájať vyrovnávaciu pamäť v Node.js?

Ako Kopirovat Porovnavat A Spajat Vyrovnavaciu Pamat V Node Js



Buffer je zbierka binárnych údajov, ktoré sú dočasne uložené v určitej pamäti. Jeho hlavným účelom je spravovať a prenášať uložené binárne dáta z jedného miesta na druhé. V Node.js môže používateľ pristupovať k tejto konkrétnej pamäti pomocou vstavaného modulu „Buffer“.

Vyrovnávacia pamäť je viac podobná „polu“ JavaScriptu, ale s jedným rozdielom, t. j. jej veľkosť sa po nastavení už nedá zmeniť. Spoločnými funkciami tohto modulu sú zápis, čítanie, porovnávanie, kopírovanie, konvertovanie a mnohé ďalšie. Všetky uvedené operácie je možné vykonávať pomocou jeho vstavaných metód a vlastností.

Tento blog poskytne stručný popis kopírovania, porovnávania a spájania vyrovnávacej pamäte v Node.js.







Začnime operáciou „kopírovať“.



Ako skopírovať vyrovnávaciu pamäť v Node.js?

' Buffer.copy() ” metóda umožňuje užívateľom skopírovať jeden objekt vyrovnávacej pamäte do druhého. Táto metóda ako výsledok vráti novo aktualizovanú vyrovnávaciu pamäť. Fungovanie tejto metódy závisí od jej nasledujúcej syntaxe:



buf. kopírovať ( targetBuffer [ , targetStart ] [ , sourceStart ] [ , zdrojKoniec ] )

Podľa vyššie uvedenej syntaxe metóda „copy()“ plní nasledujúce parametre:





  • targetBuffer : Určuje objekt Buffer, ktorého obsah je potrebné skopírovať do iného objektu vyrovnávacej pamäte.
  • targetStart : Označuje pozíciu, kde sa spustí operácia kopírovania. Jeho predvolená hodnota je „0“.
  • sourceStart : Označuje pozíciu, kde sa spustí operácia kopírovania. Jeho predvolená hodnota je „0“.
  • zdrojKoniec : Predstavuje koncovú pozíciu, kde sa operácia kopírovania zastaví. Jeho predvolená hodnota je „koniec vyrovnávacej pamäte“.

Nasledujúci blok kódu ukazuje praktickú implementáciu metódy „copy()“:

bol buf1 = Buffer. od ( '123' ) ;
bol buf2 = Buffer. alloc ( 3 ) ;
buf1. kopírovať ( buf2 ) ;
konzoly. log ( 'Obsah Buffer2 je: ' + buf2. natiahnuť ( ) ) ;

Vo vyššie uvedených riadkoch kódu:



  • ' od () ” vytvorí objekt vyrovnávacej pamäte so zadanými celými číslami.
  • ' alloc() ” metóda vytvára objekt vyrovnávacej pamäte pridelenej veľkosti.
  • ' kopírovať () ” skopíruje už existujúci obsah prvej vyrovnávacej pamäte do druhého objektu vyrovnávacej pamäte.
  • ' natiahnuť() ” metóda dekóduje skopírovaný obsah do formátu reťazca (človeka čitateľného) a potom ho zobrazí v konzole pomocou „ console.log() “.

Výkon
Vykonajte daný príkaz na spustenie súboru „.js“:

aplikácia uzla. js

Je možné vidieť, že obsah jednej vyrovnávacej pamäte bol skopírovaný do druhej vyrovnávacej pamäte:

Ako porovnať vyrovnávaciu pamäť v Node.js?

Na porovnanie vyrovnávacej pamäte v Node.js použite vstavaný „ Buffer.compare() “. Táto metóda porovnáva dve vyrovnávacie pamäte a ako štandardný výstup vracia číselnú hodnotu, ktorá zobrazuje definované rozdiely. Tieto číselné hodnoty sú uvedené nižšie spolu s ich definovanými rozdielmi:

  • 0 : Nárazníky sú rovnaké.
  • 1 : Buffer 1 je väčší ako Buffer 2.
  • -1 : Buffer 1 je nižší ako Buffer 2.

Syntax

buf. porovnať ( otherBuffer ) ;

Syntax metódy „compare()“ podporuje iba jeden podstatný argument, ktorým je „ otherBuffer “.

Využime vyššie definovanú syntax prakticky:

bol buf1 = Buffer. od ( 'Linux' ) ;
bol buf2 = Buffer. od ( 'Linux' ) ;
bol X = Buffer. porovnať ( buf1 , buf2 ) ;
konzoly. log ( X ) ;

bol buf1 = Buffer. od ( 'L' ) ;
bol buf2 = Buffer. od ( 'H' ) ;
bol X = Buffer. porovnať ( buf1 , buf2 ) ;
konzoly. log ( X ) ;

bol buf1 = Buffer. od ( 'H' ) ;
bol buf2 = Buffer. od ( 'L' ) ;
bol X = Buffer. porovnať ( buf1 , buf2 ) ;
konzoly. log ( X ) ;

Vo vyššie uvedených riadkoch kódu:

  • ' od () Metódy ” vytvárajú viaceré objekty vyrovnávacej pamäte so zadaným reťazcom.
  • ' porovnať () ” metóda porovnáva zadané objekty vyrovnávacej pamäte, ktoré prešli ako jej argument.
  • ' console.log() ” zobrazí výsledok metódy “compare()” na konzole.

Výkon
Spustite súbor „.js“ pomocou nižšie uvedeného príkazu:

aplikácia uzla. js

Číselné hodnoty zobrazené ako výsledný výstup jasne ukazujú definovaný rozdiel:

Teraz prejdite na zreťazenie vyrovnávacích pamätí v Node.js.

Ako zreťaziť vyrovnávacie pamäte v Node.js?

' concat() ” metóda pomáha spojiť viac ako jednu vyrovnávaciu pamäť. Táto metóda spája všetky cieľové vyrovnávacie pamäte v poli do jedného objektu vyrovnávacej pamäte zlúčením ich obsahu.

Syntax

Buffer. konkat ( arr , dĺžka ] )

Vyššie uvedená syntax funguje na nasledujúcich dvoch parametroch:

  • arr : Určuje pole vyrovnávacích pamätí, ktoré chcú používatelia zreťaziť.
  • dĺžka : Označuje dĺžku zreťazenej vyrovnávacej pamäte.

Nasledujúci útržok kódu prakticky spája dané vyrovnávacie pamäte pomocou definovanej metódy „concat()“:

bol buf1 = Buffer. od ( ' \n Linux \n ' ) ;
bol buf2 = Buffer. od ( 'webová stránka' ) ;
bol buf3 = Buffer. konkat ( [ buf1 , buf2 ] ) ;
konzoly. log ( 'Obsah Buffer3 je: ' + buf3. natiahnuť ( ) ) ;

Vo vyššie uvedenom útržku kódu:

  • ' od () Metódy ” vytvoria dva objekty vyrovnávacej pamäte so zadaným reťazcom.
  • ' concat() ” metóda spája špecifikovanú vyrovnávaciu pamäť v poli do objektu vyrovnávacej pamäte.
  • ' natiahnuť() ” metóda dekóduje obsah zreťazenej vyrovnávacej pamäte do formátu reťazca (človeka čitateľného) a potom ho zobrazí v konzole pomocou „ console.log() “.

Výkon
Teraz spustite nižšie uvedený príkaz a spustite súbor „.js“:

aplikácia uzla. js

Výstup zobrazí nový objekt vyrovnávacej pamäte, ktorý sa vytvorí vo výsledku zreťazenia zadaných vyrovnávacích pamätí:

Prebrali sme, ako kopírovať, porovnávať a spájať vyrovnávaciu pamäť v Nodejs.

Záver

Ak chcete skopírovať vyrovnávaciu pamäť v Nodejs, použite „ Buffer.copy() “ a na účely porovnania použite „ Buffer.compare() “. Okrem toho na zreťazenie vyrovnávacích pamätí použite „ Buffer.concat() “. Všetky tieto metódy sú preddefinované, jednoduché a ľahko použiteľné. Tento príspevok poskytuje stručný popis kopírovania, porovnávania a spájania vyrovnávacej pamäte v Node.js.