Hoe een buffer in Node.js kopiëren, vergelijken en samenvoegen?

Hoe Een Buffer In Node Js Kopieren Vergelijken En Samenvoegen



Buffer is de verzameling binaire gegevens die tijdelijk in een bepaald geheugen worden opgeslagen. Het belangrijkste doel is het beheren en overbrengen van de opgeslagen binaire gegevens van de ene plaats naar de andere. In Node.js heeft de gebruiker toegang tot dat specifieke geheugen met behulp van de ingebouwde “Buffer” -module.

Buffer lijkt meer op de JavaScript-‘array’, maar met één verschil: de grootte ervan kan niet worden gewijzigd nadat deze eenmaal is ingesteld. De gemeenschappelijke kenmerken van deze module zijn schrijven, lezen, vergelijken, kopiëren, converteren en vele andere. Alle opgegeven bewerkingen kunnen worden uitgevoerd met behulp van de ingebouwde methoden en eigenschappen.

Deze blog geeft een korte beschrijving van het kopiëren, vergelijken en aaneenschakelen van een buffer in Node.js.







Laten we beginnen met de 'kopieer' -bewerking.



Hoe kopieer ik een buffer in Node.js?

De ' Buffer.kopie() Met de methode kunnen gebruikers het ene bufferobject naar het andere kopiëren. Deze methode retourneert als resultaat een nieuw bijgewerkte buffer. De werking van deze methode is afhankelijk van de volgende syntaxis:



buf. kopiëren ( doelBuffer [ , doelStart ] [ , bronStart ] [ , bronEinde ] )

Volgens de bovenstaande syntaxis voert de methode “copy()” de volgende parameters uit:





  • doelBuffer : Het specificeert het Buffer-object waarvan de inhoud naar een ander bufferobject moet worden gekopieerd.
  • doelStart : Dit geeft de positie aan waar de kopieerbewerking begint. De standaardwaarde is “0”.
  • bronStart : Dit geeft de positie aan waar de kopieerbewerking begint. De standaardwaarde is “0”.
  • bronEinde : Dit vertegenwoordigt de eindpositie waar de kopieerbewerking stopt. De standaardwaarde is het “einde van een buffer”.

Het volgende codeblok toont de praktische implementatie van de “copy()”-methode:

was buf1 = Buffer. van ( '123' ) ;
was buf2 = Buffer. toewijzen ( 3 ) ;
buf1. kopiëren ( buf2 ) ;
troosten. loggen ( 'Inhoud van Buffer2 is: ' + buf2. naarString ( ) ) ;

In de bovenstaande coderegels:



  • De ' van() ”-methode maakt een bufferobject met de opgegeven gehele getallen.
  • De ' toewijzen() ”-methode construeert een bufferobject met een toegewezen grootte.
  • De ' kopiëren() De methode kopieert de reeds bestaande inhoud van de eerste buffer naar het tweede bufferobject.
  • De ' toString() '-methode decodeert de gekopieerde inhoud in tekenreeksformaat (voor mensen leesbaar) en geeft deze vervolgens weer in de console met behulp van de ' console.log() methode.

Uitvoer
Voer de gegeven opdracht uit om het bestand “.js” te starten:

knooppunt-app. js

Het is te zien dat de inhoud van één buffer is gekopieerd naar de tweede buffer:

Hoe een buffer in Node.js vergelijken?

Om een ​​buffer in Node.js te vergelijken, gebruik je de ingebouwde “ Buffer.vergelijk() methode. Deze methode vergelijkt twee buffers en retourneert een numerieke waarde als standaarduitvoer die de gedefinieerde verschillen laat zien. Deze numerieke waarden worden hieronder vermeld, samen met de gedefinieerde verschillen:

  • 0 : Buffers zijn gelijk.
  • 1 : Buffer 1 is groter dan Buffer 2.
  • -1 : Buffer 1 is lager dan Buffer 2.

Syntaxis

buf. vergelijken ( andereBuffer ) ;

De syntaxis van de “compare()”-methode ondersteunt slechts één essentieel argument, namelijk “ andereBuffer ”.

Laten we de hierboven gedefinieerde syntaxis praktisch gebruiken:

was buf1 = Buffer. van ( 'Linux' ) ;
was buf2 = Buffer. van ( 'Linux' ) ;
was X = Buffer. vergelijken ( buf1 , buf2 ) ;
troosten. loggen ( X ) ;

was buf1 = Buffer. van ( 'L' ) ;
was buf2 = Buffer. van ( 'H' ) ;
was X = Buffer. vergelijken ( buf1 , buf2 ) ;
troosten. loggen ( X ) ;

was buf1 = Buffer. van ( 'H' ) ;
was buf2 = Buffer. van ( 'L' ) ;
was X = Buffer. vergelijken ( buf1 , buf2 ) ;
troosten. loggen ( X ) ;

In de bovenstaande regels code:

  • De ' van() ”-methoden maken meerdere bufferobjecten met de opgegeven tekenreeks.
  • De ' vergelijken() ”-methode vergelijkt de opgegeven bufferobjecten die als argument zijn doorgegeven.
  • De ' console.log() ”-methode geeft het resultaat weer van de “compare()”-methode op de console.

Uitvoer
Voer het bestand “.js” uit met behulp van de onderstaande opdracht:

knooppunt-app. js

De numerieke waarden die als resulterende uitvoer worden weergegeven, laten duidelijk het gedefinieerde verschil zien:

Ga nu verder met de aaneenschakeling van buffers in Node.js.

Hoe buffers samen te voegen in Node.js?

De ' concat() ”-methode helpt om meer dan één buffer aan te sluiten. Deze methode voegt alle beoogde buffers in een array samen tot één bufferobject door hun inhoud samen te voegen.

Syntaxis

Buffer. concat ( arr , lengte ] )

De bovenstaande syntaxis werkt op de volgende twee parameters:

  • arr : het specificeert de reeks buffers die gebruikers willen samenvoegen.
  • lengte : Het geeft de lengte van de aaneengeschakelde buffer aan.

Het volgende codefragment voegt de gegeven buffers praktisch samen met behulp van de gedefinieerde “concat()”-methode:

was buf1 = Buffer. van ( ' \N Linux \N ' ) ;
was buf2 = Buffer. van ( 'Website' ) ;
was buf3 = Buffer. concat ( [ buf1 , buf2 ] ) ;
troosten. loggen ( 'Inhoud van Buffer3 is: ' + buf3. naarString ( ) ) ;

In het bovenstaande codefragment:

  • De ' van() ”-methoden maken respectievelijk twee bufferobjecten met de opgegeven tekenreeks.
  • De ' concat() ”-methode voegt de opgegeven buffer in een array samen tot een bufferobject.
  • De ' toString() '-methode decodeert de inhoud van de aaneengeschakelde buffer in tekenreeksformaat (voor mensen leesbaar) en geeft deze vervolgens weer in de console met behulp van de ' console.log() methode.

Uitvoer
Voer nu de onderstaande opdracht uit om het bestand “.js” uit te voeren:

knooppunt-app. js

De uitvoer geeft een nieuw bufferobject weer dat is gemaakt in het aaneenschakelingsresultaat van de opgegeven buffers:

We hebben besproken hoe u de buffer in Nodejs kunt kopiëren, vergelijken en aaneenschakelen.

Conclusie

Om de buffer in Nodejs te kopiëren, gebruikt u de “ Buffer.kopie() ' en gebruik voor vergelijkingsdoeleinden de ' Buffer.vergelijk() methode. Om buffers aan elkaar te koppelen, gebruikt u bovendien de “ Buffer.concat() methode. Al deze methoden zijn vooraf gedefinieerd, eenvoudig en gemakkelijk te gebruiken. Dit bericht geeft een korte beschrijving van het kopiëren, vergelijken en aaneenschakelen van een buffer in Node.js.