Буферът е по-подобен на „масива“ на 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“:
Може да се види, че съдържанието на единия буфер е копирано във втория буфер:
Как да сравним буфер в 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“, като използвате командата по-долу:
Числените стойности, показани като резултатен резултат, ясно показват дефинираната разлика:
Сега преминете към конкатенацията на буферите в Node.js.
Как да свържа буфери в Node.js?
„ concat() ” методът помага за свързване на повече от един буфер. Този метод обединява всички целеви буфери в масив в един буферен обект чрез сливане на тяхното съдържание.
Синтаксис
Буфер. concat ( обр , дължина ] )Горният синтаксис работи със следните два параметъра:
- обр : Указва масива от буфери, които потребителите искат да свържат.
- дължина : Означава дължината на свързания буфер.
Следният кодов фрагмент практически свързва дадените буфери, като използва дефинирания метод „concat()“:
беше buf1 = Буфер. от ( ' \н Linux \н ' ) ;беше buf2 = Буфер. от ( „уебсайт“ ) ;
беше buf3 = Буфер. concat ( [ buf1 , buf2 ] ) ;
конзола. дневник ( 'Съдържанието на Buffer3 е: ' + buf3. toString ( ) ) ;
В горния кодов фрагмент:
- „ от() ” методите създават два буферни обекта съответно с посочения низ.
- „ concat() ” метод обединява посочения буфер в масив в буферен обект.
- „ toString() ” декодира съдържанието на свързания буфер във формат на низ (четим за човек) и след това го показва в конзолата с помощта на „ console.log() ” метод.
Изход
Сега изпълнете посочената по-долу команда, за да изпълните файла „.js“:
Изходът показва нов буферен обект, който е създаден в резултата от конкатенацията на посочените буфери:
Разгледахме как да копирате, сравнявате и свързвате буфера в Nodejs.
Заключение
За да копирате буфера в Nodejs, използвайте „ Buffer.copy() “ и за целите на сравнението приложете „ Buffer.compare() ” метод. Освен това, за да свържете буфери, използвайте „ Buffer.concat() ” метод. Всички тези методи са предварително дефинирани, прости, както и лесни за използване. Тази публикация предоставя кратко описание на копирането, сравняването и свързването на буфер в Node.js.