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