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

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

Static method: Buffer.from(object[, offsetOrEncoding[, length]])

Добавлено в: v8.2.0

  • object <Объект> Объект, поддерживающий Symbol.toPrimitiveили valueOf().
  • offsetOrEncoding <целое число> | <строка> Смещение в байтах или кодировка.
  • length <целое число> Длина.

Для объектов , valueOf() функция которых возвращает значение, не строго равное object, возвращает Buffer.from(object.valueOf(), offsetOrEncoding, length).

import { Buffer } from 'buffer';

const buf = Buffer.from(new String('this is a test'));
// Prints: <Buffer 74 68 69 73 20 69 73 20 61 20 74 65 73 74>
const { Buffer } = require('buffer');

const buf = Buffer.from(new String('this is a test'));
// Prints: <Buffer 74 68 69 73 20 69 73 20 61 20 74 65 73 74>

Для объектов, которые поддерживают Symbol.toPrimitive, возвращает Buffer.from(object[Symbol.toPrimitive]('string'), offsetOrEncoding).

import { Buffer } from 'buffer';

class Foo {
  [Symbol.toPrimitive]() {
    return 'this is a test';
  }
}

const buf = Buffer.from(new Foo(), 'utf8');
// Prints: <Buffer 74 68 69 73 20 69 73 20 61 20 74 65 73 74>
const { Buffer } = require('buffer');

class Foo {
  [Symbol.toPrimitive]() {
    return 'this is a test';
  }
}

const buf = Buffer.from(new Foo(), 'utf8');
// Prints: <Buffer 74 68 69 73 20 69 73 20 61 20 74 65 73 74>

Метод Buffer.from() используется для создания нового буфера, содержащего указанную строку, массив или буфер.

Синтаксис:

Buffer.from( object, encoding )

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

  • object (объект): Этот параметр может содержать строку, буфер, массив или массив-буфер.
  • encoding (кодирование): Если объект является строкой, то он используется для указания его кодировки. Это необязательный параметр. Его значение по умолчанию-utf8.

Пример 1:

// Node.js program to demonstrate the
// Buffer.from() Method

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

// Display the buffer object
// of the given string
console.log(buf1);

// Convert the buffer to the
// string and displays it
console.log(buf1.toString());

Выход:

<Buffer 68 65 6c 6c 6f>
hello

Пример 2:

// Node.js program to demonstrate the
// Buffer.from() Method

// Creates an arrayBuffer with
// length 10
var arbuff = new ArrayBuffer(8);

// Returns a new buffer with a
// specified memory range within
// the arrayBuffer
var buf = Buffer.from(arbuff, 0, 2);

// Displays the length
console.log(buf.length);

Выход:

2

Пример 3:

// Node.js program to demonstrate the
// Buffer.from() Method

// Create a new buffer with
// copy of the given string
var buf1 = Buffer.from("John");

// Create another buffer with
// copy of given buffer
var buf2 = Buffer.from(buf1);

// Display the buffer object
console.log(buf2);

// Convert the buffer to
// string and displays it
console.log(buf2.toString());

Выход:

<Buffer 4a 6f 68 6e>
John

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

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