静态方法:Buffer.concat(list[, totalLength])
¥Static method: Buffer.concat(list[, totalLength])
-
list
<Buffer[]> | <Uint8Array[]> 要连接的Buffer
或 <Uint8Array> 实例的列表。¥
list
<Buffer[]> | <Uint8Array[]> List ofBuffer
or <Uint8Array> instances to concatenate. -
totalLength
<integer> 连接时list
中Buffer
实例的总长度。¥
totalLength
<integer> Total length of theBuffer
instances inlist
when 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
。如果 list
中 Buffer
的总长度小于 totalLength
,则剩余空间用零填充。
¥If totalLength
is provided, it is coerced to an unsigned integer. If the
combined length of the Buffer
s in list
exceeds totalLength
, the result is
truncated to totalLength
. If the combined length of the Buffer
s in list
is
less than totalLength
, the remaining space is filled with zeros.
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: 42
const { 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: 42
Buffer.concat()
也像 Buffer.allocUnsafe()
一样使用内部 Buffer
池。
¥Buffer.concat()
may also use the internal Buffer
pool like
Buffer.allocUnsafe()
does.