Kaip kopijuoti, palyginti ir sujungti buferį Node.js?

Kaip Kopijuoti Palyginti Ir Sujungti Buferi Node Js



Buferis yra dvejetainių duomenų rinkinys, laikinai saugomas tam tikroje atmintyje. Pagrindinis jo tikslas – tvarkyti ir perkelti saugomus dvejetainius duomenis iš vienos vietos į kitą. „Node.js“ vartotojas gali pasiekti tą konkrečią atmintį naudodamas integruotą „Buferio“ modulį.

Buferis yra panašesnis į „JavaScript“ „masyvą“, tačiau turi vieną skirtumą, ty jo dydžio negalima pakeisti, kai jis buvo nustatytas. Bendros šio modulio funkcijos yra rašymas, skaitymas, lyginimas, kopijavimas, konvertavimas ir daugelis kitų. Visos nurodytos operacijos gali būti atliekamos naudojant įmontuotus metodus ir savybes.

Šiame tinklaraštyje bus pateiktas trumpas buferio Node.js kopijavimo, palyginimo ir sujungimo aprašymas.







Pradėkime nuo „kopijavimo“ operacijos.



Kaip nukopijuoti buferį Node.js?

Buffer.copy() “ metodas leidžia vartotojams kopijuoti vieną buferio objektą į kitą. Šis metodas grąžina naujai atnaujintą buferį. Šio metodo veikimas priklauso nuo šios jo sintaksės:



buf. kopija ( tikslinis buferis [ , targetStart ] [ , šaltinis Pradėti ] [ , šaltinisPabaiga ] )

Pagal pirmiau pateiktą sintaksę „copy()“ metodas atlieka šiuos parametrus:





  • tikslinis buferis : nurodo buferio objektą, kurio turinį reikia nukopijuoti į kitą buferio objektą.
  • targetStart : Nurodo vietą, kurioje bus pradėtas kopijavimas. Jo numatytoji reikšmė yra „0“.
  • šaltinis Pradėti : žymi vietą, kurioje prasidės kopijavimo operacija. Jo numatytoji reikšmė yra „0“.
  • šaltinisPabaiga : reiškia pabaigos padėtį, kurioje kopijavimo operacija sustos. Jo numatytoji reikšmė yra „buferio pabaiga“.

Šis kodo blokas parodo praktinį „copy()“ metodo įgyvendinimą:

buvo buf1 = Buferis. ( '123' ) ;
buvo buf2 = Buferis. skirti ( 3 ) ;
buf1. kopija ( buf2 ) ;
konsolė. žurnalas ( „2 buferio turinys yra: + buf2. toString ( ) ) ;

Aukščiau pateiktose kodo eilutėse:



  • iš () “ metodas sukuria buferio objektą su nurodytais sveikaisiais skaičiais.
  • alloc () ” metodas sukonstruoja paskirstyto dydžio buferinį objektą.
  • kopija () “ metodas nukopijuoja jau esamą pirmojo buferio turinį į antrąjį buferio objektą.
  • toString() “ metodas iškoduoja nukopijuotą turinį į eilutės formatą (žmogaus skaitomą) ir rodo jį konsolėje, naudodamas „ console.log() “ metodas.

Išvestis
Vykdykite nurodytą komandą, kad pradėtumėte „.js“ failą:

mazgo programa. js

Matyti, kad vieno buferio turinys buvo nukopijuotas į antrą buferį:

Kaip palyginti buferį Node.js?

Norėdami palyginti Node.js buferį, naudokite integruotą ' Buferis.palyginti() “ metodas. Šis metodas palygina du buferius ir grąžina skaitinę reikšmę kaip standartinę išvestį, kuri parodo apibrėžtus skirtumus. Šios skaitinės reikšmės pateikiamos toliau kartu su apibrėžtais skirtumais:

  • 0 : Buferiai yra vienodi.
  • 1 : 1 buferis yra didesnis nei 2 buferis.
  • -1 : 1 buferis yra mažesnis nei 2 buferis.

Sintaksė

buf. palyginti ( kitas Buferis ) ;

Metodo 'palyginti ()' sintaksė palaiko tik vieną esminį argumentą, kuris yra ' kitas Buferis “.

Praktiškai panaudokime aukščiau apibrėžtą sintaksę:

buvo buf1 = Buferis. ( 'Linux' ) ;
buvo buf2 = Buferis. ( 'Linux' ) ;
buvo x = Buferis. palyginti ( buf1 , buf2 ) ;
konsolė. žurnalas ( x ) ;

buvo buf1 = Buferis. ( 'L' ) ;
buvo buf2 = Buferis. ( 'H' ) ;
buvo x = Buferis. palyginti ( buf1 , buf2 ) ;
konsolė. žurnalas ( x ) ;

buvo buf1 = Buferis. ( 'H' ) ;
buvo buf2 = Buferis. ( 'L' ) ;
buvo x = Buferis. palyginti ( buf1 , buf2 ) ;
konsolė. žurnalas ( x ) ;

Aukščiau pateiktose kodo eilutėse:

  • iš () “ metodai sukuria kelis buferio objektus su nurodyta eilute.
  • palyginti () “ metodas lygina nurodytus buferio objektus, kurie buvo perduoti kaip jo argumentas.
  • console.log() “ metodas rodo metodo „palyginti ()“ rezultatą konsolėje.

Išvestis
Paleiskite „.js“ failą naudodami toliau nurodytą komandą:

mazgo programa. js

Skaitinės reikšmės, rodomos kaip rezultatas, aiškiai parodo apibrėžtą skirtumą:

Dabar pereikite prie buferių sujungimo Node.js.

Kaip sujungti buferius Node.js?

concat () “ metodas padeda sujungti daugiau nei vieną buferį. Šis metodas sujungia visus tikslinius masyvo buferius į vieną buferio objektą, sujungdamas jų turinį.

Sintaksė

Buferis. concat ( arr , ilgio ] )

Aukščiau pateikta sintaksė veikia pagal šiuos du parametrus:

  • arr : Nurodomas buferių, kuriuos vartotojai nori sujungti, masyvas.
  • ilgio : Tai reiškia sujungto buferio ilgį.

Šis kodo fragmentas praktiškai sujungia duotus buferius, naudodamas apibrėžtą „concat()“ metodą:

buvo buf1 = Buferis. ( ' \n Linux \n ' ) ;
buvo buf2 = Buferis. ( 'Interneto svetainė' ) ;
buvo buf3 = Buferis. concat ( [ buf1 , buf2 ] ) ;
konsolė. žurnalas ( „3 buferio turinys yra: + buf3. toString ( ) ) ;

Aukščiau pateiktame kodo fragmente:

  • iš () “ metodai sukuria du buferio objektus atitinkamai su nurodyta eilute.
  • concat () “ metodas sujungia nurodytą buferį masyve į buferio objektą.
  • toString() “ metodas iškoduoja sujungto buferio turinį į eilutės formatą (žmogaus skaitomą) ir tada rodo jį konsolėje naudojant „ console.log() “ metodas.

Išvestis
Dabar paleiskite toliau nurodytą komandą, kad paleistumėte „.js“ failą:

mazgo programa. js

Išvestis rodo naują buferio objektą, kuris sukuriamas nurodytų buferių sujungimo rezultate:

Aprašėme, kaip kopijuoti, palyginti ir sujungti buferį „Nodejs“.

Išvada

Norėdami nukopijuoti buferį „Nodejs“, naudokite „ Buffer.copy() “ ir palyginimo tikslais naudokite „ Buferis.palyginti() “ metodas. Be to, norėdami sujungti buferius, naudokite „ Buffer.concat() “ metodas. Visi šie metodai yra iš anksto nustatyti, paprasti ir lengvai naudojami. Šiame įraše pateikiamas trumpas buferio kopijavimo, palyginimo ir sujungimo Node.js aprašymas.