Paano Kopyahin, Paghambingin, at Pagsamahin ang isang Buffer sa Node.js?

Paano Kopyahin Paghambingin At Pagsamahin Ang Isang Buffer Sa Node Js



Ang buffer ay ang koleksyon ng binary data na pansamantalang nakaimbak sa isang partikular na memorya. Ang pangunahing layunin nito ay upang pamahalaan at ilipat ang nakaimbak na binary data mula sa isang lugar patungo sa isa pa. Sa Node.js, maa-access ng user ang partikular na memorya sa tulong ng built-in na 'Buffer' module.

Ang buffer ay mas katulad ng JavaScript na 'array' ngunit may isang pagkakaiba i.e. ang laki nito ay hindi na mababago kapag ito ay naitakda na. Ang mga karaniwang tampok ng modyul na ito ay ang pagsulat, pagbabasa, paghahambing, pagkopya, pag-convert, at marami pang iba. Ang lahat ng tinukoy na operasyon ay maaaring isagawa gamit ang mga built-in na pamamaraan at katangian nito.

Magbibigay ang blog na ito ng maikling paglalarawan ng pagkopya, paghahambing, at pagsasama-sama ng buffer sa Node.js.







Magsimula tayo sa 'kopya' na operasyon.



Paano Kopyahin ang isang Buffer sa Node.js?

Ang ' Buffer.copy() ” na paraan ay nagpapahintulot sa mga gumagamit na kopyahin ang isang buffer object sa isa pa. Ang pamamaraang ito ay nagbabalik ng bagong na-update na buffer bilang resulta. Ang paggana ng pamamaraang ito ay nakasalalay sa sumusunod na syntax nito:



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

Ayon sa syntax sa itaas, ang pamamaraang 'kopya ()' ay gumagawa ng mga sumusunod na parameter:





  • targetBuffer : Tinutukoy nito ang Buffer object na ang nilalaman ay kailangang kopyahin sa isa pang buffer object.
  • targetStart : Tinutukoy nito ang posisyon kung saan magsisimula ang kopya sa operasyon. Ang default na halaga nito ay '0'.
  • sourceStart : Tinutukoy nito ang posisyon kung saan magsisimula ang operasyon ng pagkopya. Ang default na halaga nito ay '0'.
  • sourceEnd : Kinakatawan nito ang pangwakas na posisyon kung saan titigil ang operasyon ng pagkopya. Ang default na halaga nito ay ang 'dulo ng isang buffer'.

Ang sumusunod na code block ay nagpapakita ng praktikal na pagpapatupad ng 'copy()' na paraan:

ay buf1 = Buffer. mula sa ( '123' ) ;
ay buf2 = Buffer. alloc ( 3 ) ;
buf1. kopya ( buf2 ) ;
console. log ( 'Ang nilalaman ng Buffer2 ay: ' + buf2. toString ( ) ) ;

Sa mga linya ng code sa itaas:



  • Ang ' mula sa() ” paraan ay lumilikha ng buffer object na may mga tinukoy na integer.
  • Ang ' alloc() Ang paraan ng ” ay gumagawa ng buffer object na may nakalaan na laki.
  • Ang ' kopya() Kinokopya ng paraan ang dati nang nilalaman ng unang buffer sa pangalawang buffer object.
  • Ang ' toString() Ang pamamaraan ay nagde-decode ng kinopyang nilalaman sa format na string (nababasa ng tao) at pagkatapos ay ipinapakita ito sa console gamit ang ' console.log() ” paraan.

Output
Isagawa ang ibinigay na utos upang simulan ang '.js' na file:

node app. js

Makikita na ang nilalaman ng isang buffer ay nakopya sa pangalawang buffer:

Paano Maghambing ng Buffer sa Node.js?

Upang ihambing ang isang buffer sa Node.js, gamitin ang built-in na “ Buffer.compare() ” paraan. Ang pamamaraang ito ay naghahambing ng dalawang buffer at nagbabalik ng numeric na halaga bilang karaniwang output nito na nagpapakita ng mga tinukoy na pagkakaiba. Ang mga numerong halaga na ito ay nakalista sa ibaba kasama ng kanilang mga tinukoy na pagkakaiba:

  • 0 : Ang mga buffer ay pantay.
  • 1 : Ang Buffer 1 ay mas malaki kaysa sa Buffer 2.
  • -1 : Ang Buffer 1 ay mas mababa kaysa sa Buffer 2.

Syntax

buf. ihambing ( ibangBuffer ) ;

Ang syntax ng 'compare()' na pamamaraan ay sumusuporta lamang sa isang mahalagang argumento na ' ibangBuffer ”.

Gamitin natin ang natukoy na syntax sa itaas nang praktikal:

ay buf1 = Buffer. mula sa ( 'Linux' ) ;
ay buf2 = Buffer. mula sa ( 'Linux' ) ;
ay x = Buffer. ihambing ( buf1 , buf2 ) ;
console. log ( x ) ;

ay buf1 = Buffer. mula sa ( 'L' ) ;
ay buf2 = Buffer. mula sa ( 'H' ) ;
ay x = Buffer. ihambing ( buf1 , buf2 ) ;
console. log ( x ) ;

ay buf1 = Buffer. mula sa ( 'H' ) ;
ay buf2 = Buffer. mula sa ( 'L' ) ;
ay x = Buffer. ihambing ( buf1 , buf2 ) ;
console. log ( x ) ;

Sa mga linya ng code sa itaas:

  • Ang ' mula sa() Ang mga pamamaraan ay lumikha ng maraming buffer na bagay na may tinukoy na string.
  • Ang ' ihambing () ” method ay naghahambing sa mga tinukoy na buffer object na pumasa bilang argumento nito.
  • Ang ' console.log() Ipinapakita ng pamamaraang ” ang resulta ng pamamaraang “compare()” sa console.

Output
Patakbuhin ang '.js' na file gamit ang command sa ibaba:

node app. js

Ang mga numerong halaga na ipinapakita bilang resultang output ay malinaw na nagpapakita ng tinukoy na pagkakaiba:

Ngayon, magpatuloy sa pagsasama-sama ng mga buffer sa Node.js.

Paano Pagsamahin ang mga Buffer sa Node.js?

Ang ' concat() ” paraan ay tumutulong upang sumali sa higit sa isang buffer. Pinagsasama-sama ng pamamaraang ito ang lahat ng naka-target na buffer sa isang array sa isang buffer object sa pamamagitan ng pagsasama ng kanilang mga nilalaman.

Syntax

Buffer. concat ( arr , haba ] )

Gumagana ang syntax sa itaas sa sumusunod na dalawang parameter:

  • arr : Tinutukoy nito ang hanay ng mga buffer na gustong pagsamahin ng mga user.
  • haba : Tinutukoy nito ang haba ng pinagsama-samang buffer.

Ang sumusunod na code snippet ay praktikal na pinagsasama-sama ang mga ibinigay na buffer sa pamamagitan ng paggamit ng tinukoy na 'concat()' na paraan:

ay buf1 = Buffer. mula sa ( ' \n Linux \n ' ) ;
ay buf2 = Buffer. mula sa ( 'Website' ) ;
ay buf3 = Buffer. concat ( [ buf1 , buf2 ] ) ;
console. log ( 'Ang nilalaman ng Buffer3 ay: ' + buf3. toString ( ) ) ;

Sa snippet ng code sa itaas:

  • Ang ' mula sa() Ang mga pamamaraan ay lumikha ng dalawang buffer na bagay na may tinukoy na string ayon sa pagkakabanggit.
  • Ang ' concat() Pinagsasama ng paraan ang tinukoy na buffer sa isang array sa isang buffer object.
  • Ang ' toString() Ang paraan ng ” ay nagde-decode ng nilalaman ng pinagsama-samang buffer sa format ng string (nababasa ng tao) at pagkatapos ay ipinapakita ito sa console gamit ang “ console.log() ” paraan.

Output
Ngayon, patakbuhin ang nakasaad sa ibaba na command upang isagawa ang '.js' na file:

node app. js

Ang output ay nagpapakita ng bagong buffer object na nilikha sa concatenation na resulta ng mga tinukoy na buffer:

Sinaklaw namin kung paano kopyahin, ihambing, at pagsamahin ang buffer sa Nodejs.

Konklusyon

Upang kopyahin ang buffer sa Nodejs, gamitin ang “ Buffer.copy() ' at para sa mga layunin ng paghahambing, ilapat ang ' Buffer.compare() ” paraan. Bilang karagdagan, upang pagsamahin ang mga buffer, gamitin ang ' Buffer.concat() ” paraan. Ang lahat ng mga pamamaraang ito ay paunang natukoy, simple, at madaling gamitin. Ang post na ito ay nagbigay ng maikling paglalarawan ng pagkopya, paghahambing, at pagsasama-sama ng buffer sa Node.js.