Latest web development tutorials

Node.js บัฟเฟอร์ (กันชน)

ภาษาจาวาสคริปต์ตัวเองเพียงประเภทสตริงข้อมูลประเภทไม่มีข้อมูลไบนารี

แต่เมื่อต้องรับมือกับกระแสเหมือนกระแส TCP หรือแฟ้มคุณต้องใช้ข้อมูลไบนารี ดังนั้นใน Node.js นิยามของชั้นบัฟเฟอร์ที่ใช้ในการสร้างบัฟเฟอร์จัดเก็บเฉพาะข้อมูลไบนารี

ใน Node.js ชั้นบัฟเฟอร์จะถูกปล่อยออกร่วมกับห้องสมุดหลักโหนดเคอร์เนล ห้องสมุดบัฟเฟอร์ Node.js นำวิธีการเก็บรักษาข้อมูลดิบช่วยให้ Node.js จัดการข้อมูลไบนารีเมื่อใดก็ตามที่คุณต้องจัดการ I / O ในการย้ายข้อมูล Node.js เมื่อมันเป็นไปได้ที่จะใช้ห้องสมุดบัฟเฟอร์ . ข้อมูลเดิมที่เก็บไว้ในเช่นชั้นบัฟเฟอร์ บัฟเฟอร์จะคล้ายกับอาร์เรย์ของจำนวนเต็ม แต่มันสอดคล้องกับหน่วยความจำดิบนอกกอง V8


สร้างชั้นบัฟเฟอร์

ระดับโหนดบัฟเฟอร์สามารถสร้างขึ้นได้ในหลายวิธี

วิธีที่ 1

สร้างตัวอย่างความยาวของ 10 ไบต์บัฟเฟอร์:

var buf = new Buffer(10);

วิธีที่ 2

ผ่านการสร้างอาร์เรย์ได้รับบัฟเฟอร์ตัวอย่าง:

var buf = new Buffer([10, 20, 30, 40, 50]);

วิธีที่ 3

สร้างตัวอย่างบัฟเฟอร์ด้วยสตริง:

var buf = new Buffer("www.w3big.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.w3big.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

ไวยากรณ์

โหนดบัฟเฟอร์เข้า JSON ฟังก์ชันวัตถุจะเป็นดังนี้:

buf.toJSON()

ราคาย้อนกลับ

ส่งคืนวัตถุ JSON

ตัวอย่าง

var buf = new Buffer('www.w3big.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.w3big.com');
var buffer3 = Buffer.concat([buffer1,buffer2]);
console.log("buffer3 内容: " + buffer3.toString());

การดำเนินงานของโค้ดข้างต้นผลลัพธ์คือ:

buffer3 内容: 本教程 www.w3big.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.w3big.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) จะเติมบัฟเฟอร์ทั้งหมด