静态方法:Buffer.concat(list[, totalLength])
¥Static method: Buffer.concat(list[, totalLength])
-
list<Buffer[]> | <Uint8Array[]> 要连接的Buffer或Uint8Array实例的列表。¥
list<Buffer[]> | <Uint8Array[]> List ofBufferorUint8Arrayinstances to concatenate. -
totalLength<integer> 连接时list中Buffer实例的总长度。¥
totalLength<integer> Total length of theBufferinstances inlistwhen concatenated. -
返回:<Buffer>
¥Returns: <Buffer>
返回新的 Buffer,它是将 list 中的所有 Buffer 实例连接在一起的结果。
¥Returns a new Buffer which is the result of concatenating all the Buffer
instances in the list together.
如果列表没有条目,或者 totalLength 为 0,则返回新的零长度 Buffer。
¥If the list has no items, or if the totalLength is 0, then a new zero-length
Buffer is returned.
如果未提供 totalLength,则从 list 中的 Buffer 实例通过相加其长度来计算。
¥If totalLength is not provided, it is calculated from the Buffer instances
in list by adding their lengths.
如果提供了 totalLength,则将其强制为无符号整数。如果 list 中的 Buffer 的组合长度超过 totalLength,则结果将被截断为 totalLength。
¥If totalLength is provided, it is coerced to an unsigned integer. If the
combined length of the Buffers in list exceeds totalLength, the result is
truncated to totalLength.
import { Buffer } from 'node:buffer';
// Create a single `Buffer` from a list of three `Buffer` instances.
const buf1 = Buffer.alloc(10);
const buf2 = Buffer.alloc(14);
const buf3 = Buffer.alloc(18);
const totalLength = buf1.length + buf2.length + buf3.length;
console.log(totalLength);
// Prints: 42
const bufA = Buffer.concat([buf1, buf2, buf3], totalLength);
console.log(bufA);
// Prints: <Buffer 00 00 00 00 ...>
console.log(bufA.length);
// Prints: 42const { Buffer } = require('node:buffer');
// Create a single `Buffer` from a list of three `Buffer` instances.
const buf1 = Buffer.alloc(10);
const buf2 = Buffer.alloc(14);
const buf3 = Buffer.alloc(18);
const totalLength = buf1.length + buf2.length + buf3.length;
console.log(totalLength);
// Prints: 42
const bufA = Buffer.concat([buf1, buf2, buf3], totalLength);
console.log(bufA);
// Prints: <Buffer 00 00 00 00 ...>
console.log(bufA.length);
// Prints: 42Buffer.concat() 也像 Buffer.allocUnsafe() 一样使用内部 Buffer 池。
¥Buffer.concat() may also use the internal Buffer pool like
Buffer.allocUnsafe() does.