静态方法:Buffer.concat(list[, totalLength])


【Static method: Buffer.concat(list[, totalLength])

返回一个新的 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,则通过将 listBuffer 实例的长度相加来计算。

【If totalLength is not provided, it is calculated from the Buffer instances in list by adding their lengths.】

如果提供了 totalLength,它会被强制转换为无符号整数。如果 listBuffer 的总长度超过 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: 42

Buffer.concat() 也可能像 Buffer.allocUnsafe() 一样使用内部 Buffer 池。