You are currently viewing Node.js Buffer | Метод Buffer.concat()

Node.js Buffer | Метод Buffer.concat()

Class Method: Buffer.concat(list[, totalLength])

ВерсияИзменения
v8.0.0Элементы list теперь могут быть Uint8Arrays.
v0.7.11Добавлено в: v0.7.11
  • list <Буфер[]> | <Uint8Array[]> Список экземпляров Buffer или Uint8Array для объединения.
  • totalLength <целое число> Общая длина Buffer экземпляров list при объединении.
  • Возвращает: <Буфер>

Возвращает новый Buffer, который является результатом объединения всех Buffer экземпляров в list.

Если в списке нет элементов или если значение totalLength равно 0, то возвращается новая нулевая длина Buffer.

Если totalLength не указано, оно рассчитывается на основе Buffer экземпляров list, добавленных путем добавления их длин.

totalLength Если указано, оно преобразуется в целое число без знака. Если общая длина Buffer s в list превышает totalLength, результат усекается до totalLength.

// 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.concat( list, length )

Параметры: Этот метод принимает два параметра, как указано выше и описано ниже:

  • list (Список): Содержит список буферов для объединения.
  • length (длина): Он определяет длину объединенного буфера. Этот параметр является необязательным.

Пример 1:

// Returns a new buffer with the
// copy of the passed string
var buf1 = Buffer.from("Geeks");

// Returns another buffer with
// copy of the passed string
var buf2 = Buffer.from("for");

var buf3 = Buffer.from("Geeks");

// Creates an array of buffers
var list = [buf1, buf2, buf3];

// Concatenates all buffer objects into one buffer
var newbuff = Buffer.concat(list);

console.log("The concatenated buffer:");

// Displays the concatenated buffer
console.log(newbuff);

Выход:

The concatenated buffer:
<Buffer 47 65 65 6b 73 66 6f 72 47 65 65 6b 73>

Пример 2:

// Returns a new buffer with the
// copy of the passed string
var buf1 = Buffer.from("Good");

// Returns another buffer with
// copy of the passed string
var buf2 = Buffer.from("morning");

var buf3 = Buffer.from("everyone");

// Creates an array of buffers
var list = [buf1, buf2, buf3];

// Concatenates all buffer objects
// into one buffer
var newbuff = Buffer.concat(list);

console.log("The concatenated buffer:");

// Displays the concatenated buffer
console.log(newbuff);

Выход:

The concatenated buffer:
<Buffer 47 6f 6f 64 6d 6f 72 6e 69 6e 67 65 76 65 72 79 6f 6e 65>

Примечание: Вышеуказанная программа будет скомпилирована и запущена с помощью node index.js команда.

Ссылка: https://nodejs.org/dist/latest-v13.x/docs/api/buffer.html#buffer_class_method_buffer_concat_list_totallength