You are currently viewing Node.js Buffers (Буферы)

Node.js Buffers (Буферы)

Buffers (Буферы) — это экземпляры класса Buffer в Node.js. Буферы предназначены для обработки двоичных необработанных данных. Буферы выделяют необработанную память за пределами кучи V8. Класс буфера является глобальным классом, поэтому его можно использовать без импорта модуля буфера в приложение.

Создание буферов: Ниже приведены различные способы создания буферов в Node.js:

  • Создайте неинициированный буфер: он создает неинициированный буфер заданного размера.

Синтаксис:

var ubuf = new Buffer(5);

Приведенный выше синтаксис используется для создания неинициированного буфера из 5 октетов.

  • Создайте буфер из массива: Он создает буфер из заданного массива.

Синтаксис:

var abuf = new Buffer([16, 32, 48, 64]);

Приведенный выше синтаксис используется для создания буфера из заданного массива.

  • Создайте буфер из строки: Он создает буфер из заданной строки с дополнительной кодировкой.

Синтаксис:

var sbuf = new Buffer("GeeksforGeeks", "ascii");

Приведенный выше синтаксис используется для создания буфера из строки, и тип кодировки также может быть указан дополнительно.

Запись в буферы в Node.js: То метод buf.write() используется для записи данных в буфер узла.

Синтаксис:

buf.write( string, offset, length, encoding )

То метод buf.write() используется для возврата количества октетов, в которых записана строка. Если в буфере недостаточно места для размещения всей строки, он запишет часть строки.
Метод buf.write() принимает следующие параметры:

  • строка: Он определяет строковые данные, которые должны быть записаны в буфер.
  • смещение: Он указывает индекс, с которого буфер начинает запись. Его значение по умолчанию равно 0.
  • длина: Он определяет количество байтов для записи. Его значение по умолчанию-buffer.length.
  • кодирование: Он определяет механизм кодирования. Его значение по умолчанию- » utf-8’.

Пример: Создайте biffer.js файл, содержащий следующие коды.

// Write JavaScript code here
cbuf = new Buffer(256);
bufferlen = cbuf.write("Learn Programming with GeeksforGeeks!!!");
console.log("No. of Octets in which string is written : "+ bufferlen);

Выход:

Чтение из буферов: То метод buf.toString() используется для считывания данных из буфера узла.

Синтаксис:

buf.toString( encoding, start, end )

Баф.Метод toString() принимает следующие параметры:

  • encoding (кодирование): Он определяет механизм кодирования. Его значение по умолчанию- » utf-8’.
  • start (начало): Он указывает индекс для начала чтения. Его значение по умолчанию равно 0.
  • end (конец): Он указывает индекс для завершения чтения. Его значение по умолчанию-полный буфер.

Пример 1: Создайте buffer.js файл, содержащий следующий код.

Пример 1: Создайте buffer.js файл, содержащий следующий код.

// Write JavaScript code here
rbuf = new Buffer(26);
var j;

for (var i = 65, j = 0; i < 90, j < 26; i++, j++) {
	rbuf[j] = i ;
}

console.log( rbuf.toString('ascii'));

Выход:

Пример 2: Считайте данные с Node.js буфер, указывающий начальную и конечную точки чтения. Создайте buffer.js файл, содержащий следующий код.

// Write JavaScript code here
rbuf = new Buffer(26);
var j;

for (var i = 65, j = 0; i < 90, j < 26; i++, j++) {
	rbuf[j] = i ;
}

console.log( rbuf.toString('utf-8', 3, 9));

Выход: