Как да копирате, сравнявате и свързвате буфер в Node.js?

Kak Da Kopirate Sravnavate I Sv Rzvate Bufer V Node Js



Буферът е колекция от двоични данни, които се съхраняват временно в определена памет. Основната му цел е да управлява и прехвърля съхранените двоични данни от едно място на друго. В Node.js потребителят може да получи достъп до тази конкретна памет с помощта на вградения модул „Буфер“.

Буферът е по-подобен на „масива“ на JavaScript, но с една разлика, т.е. размерът му не може да бъде променен, след като е зададен. Общите характеристики на този модул са писане, четене, сравняване, копиране, конвертиране и много други. Всички посочени операции могат да се извършват с помощта на неговите вградени методи и свойства.

Този блог ще предостави кратко описание на копирането, сравняването и свързването на буфер в Node.js.







Нека започнем с операцията „копиране“.



Как да копирате буфер в Node.js?

Buffer.copy() ” позволява на потребителите да копират един буферен обект в друг. Този метод връща наскоро актуализиран буфер като резултат. Работата на този метод зависи от следния синтаксис:



буф. копие ( targetBuffer [ , targetStart ] [ , източникСтарт ] [ , източникКрай ] )

Съгласно горния синтаксис, методът 'copy()' изпълнява следните параметри:





  • targetBuffer : Указва буферния обект, чието съдържание трябва да бъде копирано в друг буферен обект.
  • targetStart : Означава позицията, където ще започне операцията за копиране. Стойността му по подразбиране е „0“.
  • източникСтарт : Означава позицията, където ще започне операцията по копиране. Стойността му по подразбиране е „0“.
  • източникКрай : Представлява крайната позиция, където операцията по копиране ще спре. Неговата стойност по подразбиране е „край на буфер“.

Следният кодов блок показва практическата реализация на метода „copy()“:

беше buf1 = Буфер. от ( '123' ) ;
беше buf2 = Буфер. алок ( 3 ) ;
buf1. копие ( buf2 ) ;
конзола. дневник ( 'Съдържанието на Buffer2 е: ' + buf2. toString ( ) ) ;

В горните кодови редове:



  • от() ” създава буферен обект с посочените цели числа.
  • разпределяне () ” конструира буферен обект с определен размер.
  • копие() ” копира предварително съществуващото съдържание на първия буфер във втория буферен обект.
  • toString() ” декодира копираното съдържание във формат на низ (четим за човек) и след това го показва в конзолата с помощта на „ console.log() ” метод.

Изход
Изпълнете дадената команда, за да стартирате файла „.js“:

приложение за възел. js

Може да се види, че съдържанието на единия буфер е копирано във втория буфер:

Как да сравним буфер в Node.js?

За да сравните буфер в Node.js, използвайте вградения „ Buffer.compare() ” метод. Този метод сравнява два буфера и връща числова стойност като стандартен изход, който показва дефинираните разлики. Тези числени стойности са изброени по-долу заедно с дефинираните им разлики:

  • 0 : Буферите са равни.
  • 1 : Буфер 1 е по-голям от буфер 2.
  • -1 : Буфер 1 е по-нисък от буфер 2.

Синтаксис

буф. сравнявам ( otherBuffer ) ;

Синтаксисът на метода “compare()” поддържа само един основен аргумент, който е “ otherBuffer ”.

Нека използваме практически дефинирания по-горе синтаксис:

беше buf1 = Буфер. от ( „Линукс“ ) ;
беше buf2 = Буфер. от ( „Линукс“ ) ;
беше х = Буфер. сравнявам ( buf1 , buf2 ) ;
конзола. дневник ( х ) ;

беше buf1 = Буфер. от ( 'л' ) ;
беше buf2 = Буфер. от ( 'H' ) ;
беше х = Буфер. сравнявам ( buf1 , buf2 ) ;
конзола. дневник ( х ) ;

беше buf1 = Буфер. от ( 'H' ) ;
беше buf2 = Буфер. от ( 'л' ) ;
беше х = Буфер. сравнявам ( buf1 , buf2 ) ;
конзола. дневник ( х ) ;

В горните редове код:

  • от() ” създават множество буферни обекти с посочения низ.
  • сравни () ” методът сравнява посочените буферни обекти, които са предадени като негов аргумент.
  • console.log() ” показва резултата от метода “compare()” на конзолата.

Изход
Стартирайте файла „.js“, като използвате командата по-долу:

приложение за възел. js

Числените стойности, показани като резултатен резултат, ясно показват дефинираната разлика:

Сега преминете към конкатенацията на буферите в Node.js.

Как да свържа буфери в Node.js?

concat() ” методът помага за свързване на повече от един буфер. Този метод обединява всички целеви буфери в масив в един буферен обект чрез сливане на тяхното съдържание.

Синтаксис

Буфер. concat ( обр , дължина ] )

Горният синтаксис работи със следните два параметъра:

  • обр : Указва масива от буфери, които потребителите искат да свържат.
  • дължина : Означава дължината на свързания буфер.

Следният кодов фрагмент практически свързва дадените буфери, като използва дефинирания метод „concat()“:

беше buf1 = Буфер. от ( ' Linux ' ) ;
беше buf2 = Буфер. от ( „уебсайт“ ) ;
беше buf3 = Буфер. concat ( [ buf1 , buf2 ] ) ;
конзола. дневник ( 'Съдържанието на Buffer3 е: ' + buf3. toString ( ) ) ;

В горния кодов фрагмент:

  • от() ” методите създават два буферни обекта съответно с посочения низ.
  • concat() ” метод обединява посочения буфер в масив в буферен обект.
  • toString() ” декодира съдържанието на свързания буфер във формат на низ (четим за човек) и след това го показва в конзолата с помощта на „ console.log() ” метод.

Изход
Сега изпълнете посочената по-долу команда, за да изпълните файла „.js“:

приложение за възел. js

Изходът показва нов буферен обект, който е създаден в резултата от конкатенацията на посочените буфери:

Разгледахме как да копирате, сравнявате и свързвате буфера в Nodejs.

Заключение

За да копирате буфера в Nodejs, използвайте „ Buffer.copy() “ и за целите на сравнението приложете „ Buffer.compare() ” метод. Освен това, за да свържете буфери, използвайте „ Buffer.concat() ” метод. Всички тези методи са предварително дефинирани, прости, както и лесни за използване. Тази публикация предоставя кратко описание на копирането, сравняването и свързването на буфер в Node.js.