บัฟเฟอร์จะคล้ายกับ 'อาร์เรย์' ของ 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