จะคัดลอก เปรียบเทียบ และเชื่อมต่อบัฟเฟอร์ใน Node.js ได้อย่างไร

Ca Khad Lxk Periyb Theiyb Laea Cheuxm Tx Baffexr Ni Node Js Di Xyangri



บัฟเฟอร์คือการรวบรวมข้อมูลไบนารีที่เก็บไว้ชั่วคราวในหน่วยความจำเฉพาะ วัตถุประสงค์หลักคือเพื่อจัดการและถ่ายโอนข้อมูลไบนารีที่เก็บไว้จากที่หนึ่งไปยังอีกที่หนึ่ง ใน Node.js ผู้ใช้สามารถเข้าถึงหน่วยความจำนั้นได้ด้วยความช่วยเหลือของโมดูล “บัฟเฟอร์” ในตัว

บัฟเฟอร์จะคล้ายกับ 'อาร์เรย์' ของ JavaScript มากกว่า แต่มีข้อแตกต่างอย่างหนึ่งคือ ขนาดของมันไม่สามารถเปลี่ยนแปลงได้เมื่อตั้งค่าแล้ว คุณสมบัติทั่วไปของโมดูลนี้คือการเขียน การอ่าน การเปรียบเทียบ การคัดลอก การแปลง และอื่นๆ อีกมากมาย การดำเนินการที่ระบุทั้งหมดสามารถทำได้โดยใช้วิธีการและคุณสมบัติในตัว

บล็อกนี้จะให้คำอธิบายโดยย่อเกี่ยวกับการคัดลอก การเปรียบเทียบ และการเชื่อมต่อบัฟเฟอร์ใน Node.js







เริ่มต้นด้วยการดำเนินการ 'คัดลอก'



จะคัดลอกบัฟเฟอร์ใน Node.js ได้อย่างไร

บัฟเฟอร์.คัดลอก() ” วิธีการอนุญาตให้ผู้ใช้สามารถคัดลอกวัตถุบัฟเฟอร์หนึ่งไปยังอีกวัตถุหนึ่งได้ วิธีการนี้จะส่งคืนบัฟเฟอร์ที่อัปเดตใหม่ตามผลลัพธ์ การทำงานของวิธีนี้ขึ้นอยู่กับไวยากรณ์ต่อไปนี้:



บัฟ สำเนา ( เป้าหมายบัฟเฟอร์ [ , เป้าหมายเริ่มต้น ] [ , แหล่งที่มาStart ] [ , แหล่งที่มาEnd ] )

ตามไวยากรณ์ข้างต้น งานเมธอด 'copy()' มีพารามิเตอร์ดังนี้





  • เป้าหมายบัฟเฟอร์ : ระบุวัตถุบัฟเฟอร์ซึ่งเนื้อหาจำเป็นต้องคัดลอกไปยังวัตถุบัฟเฟอร์อื่น
  • เป้าหมายเริ่มต้น : หมายถึงตำแหน่งที่จะเริ่มการคัดลอกไปยังการดำเนินการ ค่าเริ่มต้นคือ '0'
  • แหล่งที่มาStart : หมายถึงตำแหน่งที่จะเริ่มการทำสำเนา ค่าเริ่มต้นคือ '0'
  • แหล่งที่มาEnd : หมายถึงตำแหน่งสิ้นสุดที่การคัดลอกจะหยุดลง ค่าเริ่มต้นคือ 'จุดสิ้นสุดของบัฟเฟอร์'

บล็อกโค้ดต่อไปนี้แสดงการใช้งานจริงของเมธอด 'copy()':

เคยเป็น บัฟ1 = กันชน. จาก ( '123' ) ;
เคยเป็น บัฟ2 = กันชน. จัดสรร ( 3 ) ;
บัฟ1. สำเนา ( บัฟ2 ) ;
คอนโซล บันทึก ( 'เนื้อหาของ Buffer2 คือ: ' + บัฟ2. toString ( ) ) ;

ในบรรทัดโค้ดด้านบน:



  • จาก() ” วิธีการสร้างวัตถุบัฟเฟอร์ด้วยจำนวนเต็มที่ระบุ
  • จัดสรร() ” วิธีการสร้างวัตถุบัฟเฟอร์ที่มีขนาดจัดสรร
  • สำเนา() ” วิธีการคัดลอกเนื้อหาที่มีอยู่แล้วของบัฟเฟอร์แรกไปยังวัตถุบัฟเฟอร์ที่สอง
  • toString() ” วิธีการถอดรหัสเนื้อหาที่คัดลอกเป็นรูปแบบสตริง (มนุษย์สามารถอ่านได้) จากนั้นแสดงในคอนโซลโดยใช้คำสั่ง “ console.log() ' วิธี.

เอาท์พุต
ดำเนินการคำสั่งที่กำหนดเพื่อเริ่มต้นไฟล์ '.js':

แอปโหนด เจส

จะเห็นได้ว่าเนื้อหาของบัฟเฟอร์หนึ่งถูกคัดลอกไปยังบัฟเฟอร์ที่สอง:

จะเปรียบเทียบบัฟเฟอร์ใน Node.js ได้อย่างไร

หากต้องการเปรียบเทียบบัฟเฟอร์ใน Node.js ให้ใช้ฟังก์ชัน “ Buffer.เปรียบเทียบ() ' วิธี. วิธีนี้จะเปรียบเทียบบัฟเฟอร์สองตัวและส่งกลับค่าตัวเลขเป็นเอาต์พุตมาตรฐานที่แสดงให้เห็นความแตกต่างที่กำหนดไว้ ค่าตัวเลขเหล่านี้แสดงอยู่ด้านล่างพร้อมกับความแตกต่างที่กำหนดไว้:

  • 0 : บัฟเฟอร์มีค่าเท่ากัน
  • 1 : บัฟเฟอร์ 1 มากกว่าบัฟเฟอร์ 2
  • -1 : บัฟเฟอร์ 1 ต่ำกว่าบัฟเฟอร์ 2

ไวยากรณ์

บัฟ เปรียบเทียบ ( บัฟเฟอร์อื่นๆ ) ;

ไวยากรณ์ของเมธอด 'compare()' รองรับอาร์กิวเมนต์ที่สำคัญเพียงตัวเดียวเท่านั้น ซึ่งก็คือ ' บัฟเฟอร์อื่นๆ '.

ลองใช้ไวยากรณ์ที่กำหนดไว้ข้างต้นในทางปฏิบัติ:

เคยเป็น บัฟ1 = กันชน. จาก ( 'ลินุกซ์' ) ;
เคยเป็น บัฟ2 = กันชน. จาก ( 'ลินุกซ์' ) ;
เคยเป็น x = กันชน. เปรียบเทียบ ( บัฟ1 , บัฟ2 ) ;
คอนโซล บันทึก ( x ) ;

เคยเป็น บัฟ1 = กันชน. จาก ( 'ล' ) ;
เคยเป็น บัฟ2 = กันชน. จาก ( 'ชม' ) ;
เคยเป็น x = กันชน. เปรียบเทียบ ( บัฟ1 , บัฟ2 ) ;
คอนโซล บันทึก ( x ) ;

เคยเป็น บัฟ1 = กันชน. จาก ( 'ชม' ) ;
เคยเป็น บัฟ2 = กันชน. จาก ( 'ล' ) ;
เคยเป็น x = กันชน. เปรียบเทียบ ( บัฟ1 , บัฟ2 ) ;
คอนโซล บันทึก ( x ) ;

ในบรรทัดโค้ดด้านบน:

  • จาก() ” วิธีการสร้างวัตถุบัฟเฟอร์หลายรายการด้วยสตริงที่ระบุ
  • เปรียบเทียบ() ” วิธีการเปรียบเทียบวัตถุบัฟเฟอร์ที่ระบุที่ส่งผ่านเป็นอาร์กิวเมนต์
  • console.log() ” วิธีการแสดงผลลัพธ์ของวิธีการ “เปรียบเทียบ()” บนคอนโซล

เอาท์พุต
เรียกใช้ไฟล์ “.js” โดยใช้คำสั่งด้านล่าง:

แอปโหนด เจส

ค่าตัวเลขที่แสดงเป็นผลลัพธ์ผลลัพธ์แสดงให้เห็นความแตกต่างที่กำหนดไว้อย่างชัดเจน:

ตอนนี้ไปยังการต่อบัฟเฟอร์ใน Node.js

จะเชื่อมต่อบัฟเฟอร์ใน Node.js ได้อย่างไร

เชื่อมต่อ() ” วิธีการช่วยในการรวมบัฟเฟอร์มากกว่าหนึ่งตัว วิธีการนี้จะเชื่อมบัฟเฟอร์เป้าหมายทั้งหมดในอาร์เรย์เข้ากับวัตถุบัฟเฟอร์เดียวโดยการรวมเนื้อหาเข้าด้วยกัน

ไวยากรณ์

กันชน. เชื่อมต่อ ( อ๊าก , ความยาว ] )

ไวยากรณ์ข้างต้นใช้ได้กับพารามิเตอร์สองตัวต่อไปนี้:

  • อ๊าก : ระบุอาร์เรย์ของบัฟเฟอร์ที่ผู้ใช้ต้องการเชื่อมต่อ
  • ความยาว : หมายถึงความยาวของบัฟเฟอร์ที่ต่อกัน

ข้อมูลโค้ดต่อไปนี้จะเชื่อมบัฟเฟอร์ที่กำหนดเข้าด้วยกันโดยใช้วิธี 'concat()' ที่กำหนดไว้:

เคยเป็น บัฟ1 = กันชน. จาก ( ' \n ลินุกซ์ \n ' ) ;
เคยเป็น บัฟ2 = กันชน. จาก ( 'เว็บไซต์' ) ;
เคยเป็น buf3 = กันชน. เชื่อมต่อ ( [ บัฟ1 , บัฟ2 ] ) ;
คอนโซล บันทึก ( 'เนื้อหาของ Buffer3 คือ: ' + buf3. toString ( ) ) ;

ในข้อมูลโค้ดข้างต้น:

  • จาก() ” วิธีการสร้างวัตถุบัฟเฟอร์สองตัวด้วยสตริงที่ระบุตามลำดับ
  • เชื่อมต่อ() ” วิธีการเชื่อมบัฟเฟอร์ที่ระบุในอาร์เรย์เข้ากับวัตถุบัฟเฟอร์
  • toString() ” วิธีการถอดรหัสเนื้อหาของบัฟเฟอร์ที่ต่อกันเป็นรูปแบบสตริง (มนุษย์สามารถอ่านได้) จากนั้นแสดงในคอนโซลโดยใช้คำสั่ง “ console.log() ' วิธี.

เอาท์พุต
ตอนนี้ให้รันคำสั่งด้านล่างเพื่อรันไฟล์ '.js':

แอปโหนด เจส

ผลลัพธ์จะแสดงวัตถุบัฟเฟอร์ใหม่ที่สร้างขึ้นในผลลัพธ์การต่อข้อมูลของบัฟเฟอร์ที่ระบุ:

เราได้กล่าวถึงวิธีการคัดลอก เปรียบเทียบ และเชื่อมต่อบัฟเฟอร์ใน Nodejs แล้ว

บทสรุป

หากต้องการคัดลอกบัฟเฟอร์ใน Nodejs ให้ใช้คำสั่ง “ บัฟเฟอร์.คัดลอก() ” และเพื่อวัตถุประสงค์ในการเปรียบเทียบให้ใช้ “ Buffer.เปรียบเทียบ() ' วิธี. นอกจากนี้ หากต้องการเชื่อมต่อบัฟเฟอร์ ให้ใช้ ' บัฟเฟอร์.concat() ' วิธี. วิธีการทั้งหมดนี้กำหนดไว้ล่วงหน้า เรียบง่าย และใช้งานง่าย โพสต์นี้ได้ให้คำอธิบายสั้นๆ เกี่ยวกับการคัดลอก การเปรียบเทียบ และการเชื่อมต่อบัฟเฟอร์ใน Node.js