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

Опубликовано: 5 Августа, 2021

Буфер - это временное хранилище памяти, в котором хранятся данные, когда они перемещаются из одного места в другое. Это похоже на массив целых чисел.

Метод Buffer.copy () просто копирует все значения из входного буфера в другой буфер.

Синтаксис:

 buffer.copy (цель, targetStart, sourceStart, sourceEnd)

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

  • target: это буфер, в который вам нужно скопировать все значения.
  • targetStart: относится к начальному индексу, с которого начнется запись элементов целевого буфера. Его значение по умолчанию - 0.
  • sourceStart: это индекс входного буфера, с которого начнется копирование значений. Его значение по умолчанию - 0.
  • sourceEnd: индекс входного буфера, до которого будет выполняться копирование значений. Его значение по умолчанию - размер buffer.length.

Возвращаемое значение: этот метод возвращает число, которое указывает количество скопированных байтов.

Примечание. Копирует значения из входного буфера и перезаписывает их в выходной буфер, даже если целевые области памяти (индексы) уже существуют. Копирует данные из области входного буфера в область целевого буфера, даже если целевая область памяти перекрывается с входным буфером.

Примеры ниже иллюстрируют использование метода Buffer.includes () в Node.js:

Пример 1:




// Node.js program to demonstrate the
// Buffer.copy() Method
// Creating a buffer
var buffer2 = Buffer.from( 'for' );
var buffer1 = Buffer.from( 'GeeksandGeeks' );
buffer2.copy(buffer1, 5, 0);
console.log(buffer1.toString());

Выход:

 GeeksforGeeks

Пример 2:




// Node.js program to demonstrate the
// Buffer.copy() Method
var buffer2 = Buffer.allocUnsafe(5);
var buffer1 = Buffer.from( 'Geeks' );
for (let i = 0; i < 5; i++) {
// Adds: 'abcde' as 97 98 99 100 101
// are their respective ASCII values
buffer2[i] = i + 97;
}
buffer2.copy(buffer1, 2);
// Prints 'Geabc' as the input buffer1
// carries 'Geeks' and we provided the
// targetStart index as 2
// so elements will replace the values in
// buffer1 starting from index 2
console.log(buffer1.toString());

Выход:

 Geabc

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

Ссылка: https://nodejs.org/api/buffer.html#buffer_buf_copy_target_targetstart_sourcestart_sourceend