• list {Buffer[] | Uint8Array[]} 要合并的 Buffer 数组或 [Uint8Array] 数组。
    • totalLength {integer} 合并后 list 中的 Buffer 实例的总长度。
    • 返回: {Buffer}

    返回一个合并了 list 中所有 Buffer 实例的新 Buffer

    如果 list 中没有元素、或 totalLength 为 0,则返回一个长度为 0 的 Buffer

    如果没有提供 totalLength,则通过将 list 中的 Buffer 实例的长度相加来计算得出。

    如果提供了 totalLength,则会强制转换为无符号整数。 如果 list 中的 Buffer 合并后的总长度大于 totalLength,则结果会被截断到 totalLength 的长度。

    1. // 用含有三个 `Buffer` 实例的数组创建一个单一的 `Buffer`。
    2. const buf1 = Buffer.alloc(10);
    3. const buf2 = Buffer.alloc(14);
    4. const buf3 = Buffer.alloc(18);
    5. const totalLength = buf1.length + buf2.length + buf3.length;
    6. console.log(totalLength);
    7. // 打印: 42
    8. const bufA = Buffer.concat([buf1, buf2, buf3], totalLength);
    9. console.log(bufA);
    10. // 打印: <Buffer 00 00 00 00 ...>
    11. console.log(bufA.length);
    12. // 打印: 42

    Buffer.concat() 也可以像 [Buffer.allocUnsafe()] 一样使用内部的 Buffer 池。