บทช่วยสอน Node.js บัฟเฟอร์ (กันชน) ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ สร้างชั้นบัฟเฟอร์,เขียนบัฟเฟอร์,อ่านข้อมูลจากบัฟเฟอร์,บัฟเฟอร์จะถูกแปลงเป็นวัตถุ JSON,ผสานบัฟเฟอร์,บัฟเฟอร์เปรียบเทียบ,คัดลอกบัฟเฟอร์,บัฟเฟอร์การเพาะปลูก,ความยาวบัฟเฟอร์,คู่มือการใช้งานวิธีการอ้างอิง,
ภาษาจาวาสคริปต์ตัวเองเพียงประเภทสตริงข้อมูลประเภทไม่มีข้อมูลไบนารี
แต่เมื่อต้องรับมือกับกระแสเหมือนกระแส TCP หรือแฟ้มคุณต้องใช้ข้อมูลไบนารี ดังนั้นใน Node.js นิยามของชั้นบัฟเฟอร์ที่ใช้ในการสร้างบัฟเฟอร์จัดเก็บเฉพาะข้อมูลไบนารี
ใน Node.js ชั้นบัฟเฟอร์จะถูกปล่อยออกร่วมกับห้องสมุดหลักโหนดเคอร์เนล ห้องสมุดบัฟเฟอร์ Node.js นำวิธีการเก็บรักษาข้อมูลดิบช่วยให้ Node.js จัดการข้อมูลไบนารีเมื่อใดก็ตามที่คุณต้องจัดการ I / O ในการย้ายข้อมูล Node.js เมื่อมันเป็นไปได้ที่จะใช้ห้องสมุดบัฟเฟอร์ . ข้อมูลเดิมที่เก็บไว้ในเช่นชั้นบัฟเฟอร์ บัฟเฟอร์จะคล้ายกับอาร์เรย์ของจำนวนเต็ม แต่มันสอดคล้องกับหน่วยความจำดิบนอกกอง V8
ระดับโหนดบัฟเฟอร์สามารถสร้างขึ้นได้ในหลายวิธี
สร้างตัวอย่างความยาวของ 10 ไบต์บัฟเฟอร์:
var buf = new Buffer(10);
ผ่านการสร้างอาร์เรย์ได้รับบัฟเฟอร์ตัวอย่าง:
var buf = new Buffer([10, 20, 30, 40, 50]);
สร้างตัวอย่างบัฟเฟอร์ด้วยสตริง:
var buf = new Buffer("www.w3write.com", "utf-8");
UTF-8 คือการเข้ารหัสเริ่มต้นในนอกจากนี้ยังสนับสนุนการเข้ารหัสต่อไปนี้ "ASCII", "utf8", "utf16le", "UCS2", "base64" และ "ซวย"
ไวยากรณ์โหนดเขียนบัฟเฟอร์จะเป็นดังนี้:
buf.write(string[, offset[, length]][, encoding])
พารามิเตอร์ที่อธิบายไว้ด้านล่าง:
สตริง - บัฟเฟอร์สตริงเป็นลายลักษณ์อักษร
ชดเชย - บัฟเฟอร์ดัชนีเพื่อเริ่มต้นการเขียนเริ่มต้นคือ 0
ความยาว - จำนวนไบต์ที่เขียนโดย buffer.length เริ่มต้น
การเข้ารหัส - การเข้ารหัสที่ใช้ค่าเริ่มต้นคือ 'utf8'
ผลตอบแทนที่ได้ขนาดของการเขียนที่เกิดขึ้นจริง หากพื้นที่บัฟเฟอร์เพียงส่วนของสตริงที่เป็นลายลักษณ์อักษร
buf = new Buffer(256); len = buf.write("www.w3write.com"); console.log("写入字节数 : "+ len);
การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:
$node main.js 写入字节数 : 14
โหนดอ่านไวยากรณ์ข้อมูลบัฟเฟอร์จะเป็นดังนี้:
buf.toString([encoding[, start[, end]]])
พารามิเตอร์ที่อธิบายไว้ด้านล่าง:
การเข้ารหัส - การเข้ารหัสที่ใช้ค่าเริ่มต้นคือ 'utf8'
เริ่มต้น - เริ่มต้นการอ่านตำแหน่งดัชนีระบุค่าเริ่มต้นคือ 0
ปลาย - ตำแหน่งท้ายที่สุดเริ่มต้นเป็นจุดสิ้นสุดของบัฟเฟอร์
ถอดรหัสข้อมูลบัฟเฟอร์และส่งกลับสตริงโดยใช้การเข้ารหัสที่ระบุ
buf = new Buffer(26); for (var i = 0 ; i < 26 ; i++) { buf[i] = i + 97; } console.log( buf.toString('ascii')); // 输出: abcdefghijklmnopqrstuvwxyz console.log( buf.toString('ascii',0,5)); // 输出: abcde console.log( buf.toString('utf8',0,5)); // 输出: abcde console.log( buf.toString(undefined,0,5)); // 使用 'utf8' 编码, 并输出: abcde
การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:
$ node main.js abcdefghijklmnopqrstuvwxyz abcde abcde abcde
โหนดบัฟเฟอร์เข้า JSON ฟังก์ชันวัตถุจะเป็นดังนี้:
buf.toJSON()
ส่งคืนวัตถุ JSON
var buf = new Buffer('www.w3write.com'); var json = buf.toJSON(buf); console.log(json);
การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:
[ 119, 119, 119, 46, 114, 117, 110, 111, 111, 98, 46, 99, 111, 109 ]
โหนดบัฟเฟอร์ไวยากรณ์รวมเป็นดังนี้:
Buffer.concat(list[, totalLength])
พารามิเตอร์ที่อธิบายไว้ด้านล่าง:
List - อาร์เรย์ของวัตถุสำหรับรายการบัฟเฟอร์รวม
totalLength - หลังจากที่มีความยาวรวมกันที่ระบุไว้รวมของวัตถุบัฟเฟอร์
กลับมาสมาชิกหลายรายของวัตถุที่ผสานบัฟเฟอร์ใหม่
var buffer1 = new Buffer('本教程 '); var buffer2 = new Buffer('www.w3write.com'); var buffer3 = Buffer.concat([buffer1,buffer2]); console.log("buffer3 内容: " + buffer3.toString());
การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:
buffer3 内容: 本教程 www.w3write.com
โหนดบัฟเฟอร์เปรียบเทียบไวยากรณ์ฟังก์ชั่นดังต่อไปนี้วิธีการที่นำมาใช้ในรุ่น v0.12.2 Node.js:
buf.compare(otherBuffer);
พารามิเตอร์ที่อธิบายไว้ด้านล่าง:
otherBuffer - เมื่อเทียบกับ bufบัฟเฟอร์วัตถุวัตถุอื่น
ก็จะส่งกลับตัวเลขที่แสดงให้เห็นถึงbuf ก่อน otherBuffer หรือหลังเดียวกัน
var buffer1 = new Buffer('ABC'); var buffer2 = new Buffer('ABCD'); var result = buffer1.compare(buffer2); if(result < 0) { console.log(buffer1 + " 在 " + buffer2 + "之前"); }else if(result == 0){ console.log(buffer1 + " 与 " + buffer2 + "相同"); }else { console.log(buffer1 + " 在 " + buffer2 + "之后"); }
การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:
ABC在ABCD之前
ไวยากรณ์โหนดสำเนาบัฟเฟอร์จะเป็นดังนี้:
buf.copy(targetBuffer[, targetStart[, sourceStart[, sourceEnd]]])
พารามิเตอร์ที่อธิบายไว้ด้านล่าง:
วัตถุบัฟเฟอร์คุณต้องการคัดลอก- targetBuffer
targetStart - ดิจิตอลตัวเลือกเริ่มต้น: 0
sourceStart - ดิจิตอลตัวเลือกเริ่มต้น: 0
sourceEnd - ดิจิตอลตัวเลือกค่าเริ่มต้น: buffer.length
ไม่มีค่าตอบแทน
var buffer1 = new Buffer('ABC'); // 拷贝一个缓冲区 var buffer2 = new Buffer(3); buffer1.copy(buffer2); console.log("buffer2 content: " + buffer2.toString());
การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:
buffer2 content: ABC
ไวยากรณ์โหนดบัฟเฟอร์พืชเป็นดังนี้:
buf.slice([start[, end]])
พารามิเตอร์ที่อธิบายไว้ด้านล่าง:
เริ่มต้น - ตัวเลขตัวเลือกเริ่มต้น: 0
- end ดิจิตอลตัวเลือกค่าเริ่มต้น: buffer.length
ส่งกลับบัฟเฟอร์ใหม่ก็จะเก่าและชี้ไปที่ชิ้นเดียวกันของหน่วยความจำบัฟเฟอร์ แต่เริ่มต้นจากดัชนีไปยังตำแหน่งของปลายตัด
var buffer1 = new Buffer('w3big'); // 剪切缓冲区 var buffer2 = buffer1.slice(0,2); console.log("buffer2 content: " + buffer2.toString());
การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:
buffer2 content: ru
โหนดบัฟเฟอร์ไวยากรณ์การคำนวณระยะเวลาดังต่อไปนี้:
buf.length;
สำรองหน่วยความจำบัฟเฟอร์ครอบครองโดยความยาวของวัตถุ
var buffer = new Buffer('www.w3write.com'); // 缓冲区长度 console.log("buffer length: " + buffer.length);
การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:
buffer length: 14
ต่อไปนี้เป็นรายการโมดูล Node.js บัฟเฟอร์วิธีการที่ใช้กันทั่วไป (โปรดทราบว่าวิธีการบางอย่างในรุ่นเก่าไม่ได้):
เลขที่ | วิธีการและคำอธิบาย |
---|---|
1 | ใหม่บัฟเฟอร์ (ขนาด) กำหนดขนาดใหม่สำหรับขนาดของหน่วยบัฟเฟอร์ 8 ไบต์ หมายเหตุขนาดต้องน้อยกว่า kMaxLength มิฉะนั้นก็จะโยน RangeError ข้อยกเว้น |
2 | ใหม่บัฟเฟอร์ (กันชน) คัดลอกข้อมูลพารามิเตอร์อินสแตนซ์บัฟเฟอร์บัฟเฟอร์ |
3 | ใหม่บัฟเฟอร์ (STR [การเข้ารหัส] ) มันจัดสรรบัฟเฟอร์ใหม่ซึ่งมีสตริงผ่าน STR การเข้ารหัสค่าเริ่มต้นของการเข้ารหัส 'utf8' |
4 | buf.length ส่งกลับจำนวนไบต์ในบัฟเฟอร์ โปรดทราบว่านี้ไม่จำเป็นต้องเป็นขนาดของบัฟเฟอร์ภายในเนื้อหา บัฟเฟอร์ยาวจำนวนหน่วยความจำที่จัดสรรโดยวัตถุที่มันไม่ได้เปลี่ยนบัฟเฟอร์ที่มีเนื้อหาของการเปลี่ยนแปลงวัตถุ |
5 | buf.write (String [ชดเชย [ ยาว]] [การเข้ารหัส]) ตามเพื่อชดเชยและการชดเชยค่าพารามิเตอร์ที่ระบุการเข้ารหัส, เขียนข้อมูลพารามิเตอร์สตริงบัฟเฟอร์ ชดเชย Offset ค่าเริ่มต้นคือ 0, การเข้ารหัสเริ่มต้นเป็น utf8 ขนาดความยาวความยาวไบต์จะเขียนสตริง ผลตอบแทนที่ประเภทของหมายเลขเขียนหมายเลขแปดหมายถึงกระแสไบต์ หากบัฟเฟอร์พื้นที่ไม่เพียงพอที่จะนำสตริงทั้งหมดก็จะเขียนได้เพียงส่วนหนึ่งของสตริง ความยาวเริ่มต้นคือ buffer.length - ชดเชย วิธีการนี้จะเขียนตัวอักษรบางตัวจะไม่ปรากฏ |
6 | buf.writeUIntLE (ค่าชดเชย byteLength [ , noAssert]) ค่าที่ถูกเขียนไปยังบัฟเฟอร์ที่มันจะถูกกำหนดโดยการชดเชยและ byteLength สนับสนุนคอมพิวเตอร์ 48 บิตตัวอย่างเช่น: var b = new Buffer(6); b.writeUIntBE(0x1234567890ab, 0, 6); // <Buffer 12 34 56 78 90 ab>noAssert เมื่อค่าเป็นจริงไม่ได้ตรวจสอบความถูกต้องและความคุ้มค่าของการชดเชย เริ่มต้นเป็นเท็จ |
7 | buf.writeUIntBE (ค่าชดเชย byteLength [ , noAssert]) ค่าที่ถูกเขียนไปยังบัฟเฟอร์ที่มันจะถูกกำหนดโดยการชดเชยและ byteLength คอมพิวเตอร์สนับสนุน 48 บิต noAssert เมื่อค่าเป็นจริงไม่ได้ตรวจสอบความถูกต้องและความคุ้มค่าของการชดเชย เริ่มต้นเป็นเท็จ |
8 | buf.writeIntLE (ค่าชดเชย byteLength [ , noAssert]) ค่าที่ถูกเขียนไปยังบัฟเฟอร์ที่มันจะถูกกำหนดโดยการชดเชยและ byteLength คอมพิวเตอร์สนับสนุน 48 บิต noAssert เมื่อค่าเป็นจริงไม่ได้ตรวจสอบความถูกต้องและความคุ้มค่าของการชดเชย เริ่มต้นเป็นเท็จ |
9 | buf.writeIntBE (ค่าชดเชย byteLength [ , noAssert]) ค่าที่ถูกเขียนไปยังบัฟเฟอร์ที่มันจะถูกกำหนดโดยการชดเชยและ byteLength คอมพิวเตอร์สนับสนุน 48 บิต noAssert เมื่อค่าเป็นจริงไม่ได้ตรวจสอบความถูกต้องและความคุ้มค่าของการชดเชย เริ่มต้นเป็นเท็จ |
10 | buf.readUIntLE (offset, byteLength [noAssert ]) สนับสนุนการอ่านดิจิตอล 48 หรือน้อยกว่า เมื่อ noAssert เป็นความจริงชดเชยไม่ได้ตรวจสอบว่ามีความยาวเกินบัฟเฟอร์เริ่มต้นเป็นเท็จ |
11 | buf.readUIntBE (offset, byteLength [noAssert ]) สนับสนุนการอ่านดิจิตอล 48 หรือน้อยกว่า เมื่อ noAssert เป็นความจริงชดเชยไม่ได้ตรวจสอบว่ามีความยาวเกินบัฟเฟอร์เริ่มต้นเป็นเท็จ |
12 | buf.readIntLE (offset, byteLength [noAssert ]) สนับสนุนการอ่านดิจิตอล 48 หรือน้อยกว่า เมื่อ noAssert เป็นความจริงชดเชยไม่ได้ตรวจสอบว่ามีความยาวเกินบัฟเฟอร์เริ่มต้นเป็นเท็จ |
13 | buf.readIntBE (offset, byteLength [noAssert ]) สนับสนุนการอ่านดิจิตอล 48 หรือน้อยกว่า เมื่อ noAssert เป็นความจริงชดเชยไม่ได้ตรวจสอบว่ามีความยาวเกินบัฟเฟอร์เริ่มต้นเป็นเท็จ |
14 | buf.toString ([เข้ารหัส [เริ่มต้น [ ปลาย]]]) (ค่าเริ่มต้นคือ 'utf8') ผลตอบแทนสตริงของถอดรหัสตามชนิดของพารามิเตอร์การเข้ารหัส มันจะขึ้นอยู่กับการเริ่มต้นพารามิเตอร์ผ่าน (เริ่มต้นเป็น 0) และสิ้นสุด (ค่าปกติคือ buffer.length) เป็นช่วงของค่า |
15 | buf.toJSON () อินสแตนซ์บัฟเฟอร์เป็นวัตถุ JSON |
16 | buf [ดัชนี] ได้รับหรือการตั้งค่าไบต์ที่ระบุ ค่าตอบแทนหมายถึงไบต์ดังนั้นในช่วงที่ตามกฎหมายของค่าตอบแทนเป็น 0x00 เพื่อ 0xFF ฐานสิบหกหรือทศนิยม 0-255 |
17 | buf.equals (otherBuffer) เปรียบเทียบสองบัฟเฟอร์มีค่าเท่ากันและหากผลตอบแทนที่แท้จริงมิฉะนั้นกลับเท็จ |
18 | buf.compare (otherBuffer) บัฟเฟอร์เปรียบเทียบสองวัตถุและส่งกลับจำนวนที่แสดงถึง buf ก่อน otherBuffer หรือหลังเดียวกัน |
19 | buf.copy (targetBuffer [targetStart [ sourceStart [sourceEnd]]]) บัฟเฟอร์คัดลอกต้นทางและปลายทางสามารถเดียวกัน targetStart เป้าหมายเริ่มต้น offset และ sourceStart แหล่งเริ่มต้นเริ่มต้นชดเชยคือ 0 แหล่ง buffer.length ยาวเริ่มต้น sourceEnd ตำแหน่งแหล่งที่มาท้ายจะชดเชย |
20 | buf.slice ([เริ่มต้น [จบ] ]) ตัดวัตถุบัฟเฟอร์ตามเริ่มต้น (เริ่มต้นเป็น 0) และสิ้นสุด (ค่าปกติคือ buffer.length) ชดเชยและดัชนีพืช ดัชนีติดลบคำนวณได้จากจุดเริ่มต้นของบัฟเฟอร์หาง |
21 | buf.readUInt8 (offset [noAssert]) ตามที่ระบุชดเชยอ่านลงนาม 8 บิตจำนวนเต็ม ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย หากชดเชยนี้อาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
22 | buf.readUInt16LE (offset [noAssert]) ตามที่ระบุชดเชยโดยใช้รูปแบบ endian พิเศษเพื่อ byte อ่านลงนามจำนวนเต็ม 16 บิต ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
23 | buf.readUInt16BE (offset [noAssert]) ตามที่ระบุชดเชยโดยใช้รูปแบบ endian พิเศษเพื่อ byte อ่านลงนามจำนวนเต็ม 16 บิต ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
24 | buf.readUInt32LE (offset [noAssert]) ตามที่ระบุชดเชยที่มีรูปแบบเพื่อ byte endian ระบุอ่านที่ลงนาม 32 บิตจำนวนเต็ม ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
25 | buf.readUInt32BE (offset [noAssert]) ตามที่ระบุชดเชยที่มีรูปแบบเพื่อ byte endian ระบุอ่านที่ลงนาม 32 บิตจำนวนเต็ม ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
26 | buf.readInt8 (offset [noAssert]) ตามที่ระบุชดเชยเพื่อที่จะอ่านลงนามจำนวนเต็ม 8 บิต ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
27 | buf.readInt16LE (offset [noAssert]) ตามที่ระบุไว้ชดเชยโดยใช้รูปแบบ endian พิเศษอ่านลงนามจำนวนเต็ม 16 บิต ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
28 | buf.readInt16BE (offset [noAssert]) ตามที่ระบุไว้ชดเชยโดยใช้รูปแบบ endian พิเศษอ่านลงนามจำนวนเต็ม 16 บิต ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
29 | buf.readInt32LE (offset [noAssert]) ตามที่ระบุชดเชยที่มีรูปแบบเพื่อ byte endian ระบุอ่านที่ลงนาม 32 บิตจำนวนเต็ม ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
30 | buf.readInt32BE (offset [noAssert]) ตามที่ระบุชดเชยที่มีรูปแบบเพื่อ byte endian ระบุอ่านที่ลงนาม 32 บิตจำนวนเต็ม ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
วันที่ 31 | buf.readFloatLE (offset [noAssert]) ตามที่ระบุชดเชยกับการสั่งซื้อ endian ไบต์ที่ระบุไว้ในการอ่านรูปแบบจุดลอยตัว 32 บิต ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
32 | buf.readFloatBE (offset [noAssert]) ตามที่ระบุชดเชยกับการสั่งซื้อ endian ไบต์ที่ระบุไว้ในการอ่านรูปแบบจุดลอยตัว 32 บิต ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
33 | buf.readDoubleLE (offset [noAssert]) ตามที่ระบุชดเชยที่มีรูปแบบเพื่อ byte endian ที่ระบุในการอ่านแบบ 64 บิตคู่ ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
34 | buf.readDoubleBE (offset [noAssert]) ตามที่ระบุชดเชยที่มีรูปแบบเพื่อ byte endian ที่ระบุในการอ่านแบบ 64 บิตคู่ ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าการชดเชยอาจเกินจุดสิ้นสุดของบัฟเฟอร์ เริ่มต้นเป็นเท็จ |
35 | buf.writeUInt8 (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยการเขียนบัฟเฟอร์ค่าชดเชย หมายเหตุ: ค่าไม่ถูกต้องลงนามจำนวนเต็ม 8 บิต ถ้าพารามิเตอร์คือ noAssert จริงจะไม่ตรวจสอบการชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้ไม่ได้ใช้ เริ่มต้นเป็นเท็จ |
36 | buf.writeUInt16LE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: ค่าไม่ถูกต้อง 16 บิตลงนามจำนวนเต็ม ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
37 | buf.writeUInt16BE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: ค่าไม่ถูกต้อง 16 บิตลงนามจำนวนเต็ม ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
38 | buf.writeUInt32LE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: ค่าไม่ถูกต้อง 32 บิตลงนามจำนวนเต็ม ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
39 | buf.writeUInt32BE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: ค่าไม่ถูกต้อง 32 บิตลงนามจำนวนเต็ม ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
40 | buf.writeInt8 (ค่าชดเชย [noAssert ]) |
41 | buf.writeInt16LE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: ค่าไม่ถูกต้องลงนามจำนวนเต็ม 16 บิต ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
42 | buf.writeInt16BE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: ค่าไม่ถูกต้องลงนามจำนวนเต็ม 16 บิต ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
43 | buf.writeInt32LE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: ค่าไม่ถูกต้องลงนามจำนวนเต็ม 32 บิต ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
44 | buf.writeInt32BE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: ค่าไม่ถูกต้องลงนามจำนวนเต็ม 32 บิต ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
45 | buf.writeFloatLE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: เมื่อค่าไม่ได้เป็นค่าของ 32 บิตชนิดลอยจุดผลที่ได้คือไม่ได้กำหนด ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
46 | buf.writeFloatBE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: เมื่อค่าไม่ได้เป็นค่าของ 32 บิตชนิดลอยจุดผลที่ได้คือไม่ได้กำหนด ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
47 | buf.writeDoubleLE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: ค่าต้องเป็นค่า 64 บิตที่ถูกต้องจากประเภทคู่ ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
48 | buf.writeDoubleBE (ค่าชดเชย [noAssert ]) ตามที่เข้ามาชดเชยชดเชยและระบุบัฟเฟอร์เขียนค่ารูปแบบ endian หมายเหตุ: ค่าต้องเป็นค่า 64 บิตที่ถูกต้องจากประเภทคู่ ถ้าพารามิเตอร์คือ noAssert มูลค่าที่แท้จริงจะไม่ได้รับการตรวจสอบและชดเชยค่าพารามิเตอร์ชดเชย ซึ่งหมายความว่าค่าอาจจะมีขนาดใหญ่เกินไปหรือชดเชยอาจเกินปลายของบัฟเฟอร์คุ้มค่าที่เกิดขึ้นจะถูกยกเลิก จนกว่าคุณจะแน่ใจมากเกี่ยวกับพารามิเตอร์นี้หรือพยายามที่จะไม่ใช้ เริ่มต้นเป็นเท็จ |
49 | buf.fill (ค่า [ชดเชย] [ ปลาย]) โดยใช้ค่าที่ระบุในการกรอกข้อมูลบัฟเฟอร์ หากไม่มีการชดเชย (ค่าเริ่มต้นเป็น 0) และสิ้นสุด (ค่าปกติคือ buffer.length) จะเติมบัฟเฟอร์ทั้งหมด |