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

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

Class Method: Buffer.byteLength(string[, encoding])

ВерсияИзменения
v7.0.0Передача неверных входных данных теперь приведет к ошибке.
v5.10.0string Параметр теперь может быть любым TypedArrayDataView или ArrayBuffer.
v0.1.90Добавлено в: v0.1.90
  • string <строка> | <Буфер> | <Массив типов> | <Представление данных> | <Массив буфера> | <Общий массив буфера> Значение для вычисления длины.
  • encoding <строка> Если string это строка, то это ее кодировка. 
  • По умолчанию: 'utf8'.
  • Возвращает: <целое число> Количество байтов, содержащихся внутри string.

Возвращает фактическую длину строки в байтах. Это не то же String.prototype.length самое, что с тех пор, как это возвращает количество символов в строке.

Для 'base64' и 'hex' эта функция предполагает допустимый ввод. Для строк, содержащих данные, не закодированные в Base64/Hex (например, пробелы), возвращаемое значение может быть больше длины Buffer, созданной из строки.

const str = '\u00bd + \u00bc = \u00be';

console.log(`${str}: ${str.length} characters, ` +
            `${Buffer.byteLength(str, 'utf8')} bytes`);
// Prints: ½ + ¼ = ¾: 9 characters, 12 bytes

Метод Buffer.byteLength() используется для возврата длины в байтах указанного объекта буфера.

Синтаксис:

Buffer.byteLength( string, encoding )

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

  • String (Строка): Это обязательный параметр, используемый для указания объекта для вычисления длины буфера. Поддерживаемые типы строк-String, Buffer, TypedArray, DataView и ArrayBuffer.
  • Encoding (Кодирование): Это необязательный параметр. Если объект является строкой, этот параметр определяет его схему кодирования. Значение схемы кодирования по умолчанию — “utf8”.

Возвращаемое Значение: Он возвращает количество байтов указанного объекта.

Пример 1:

// Node.js program to demonstrate the
// Buffer.bytelength() method

// Create a buffer
var buf = Buffer.alloc(20);

// Check the length of a buffer object:
var lenobj = Buffer.byteLength(buf);

console.log(lenobj);

Выход:

20

Пример 2:

// Node.js program to demonstrate the
// Buffer.bytelength() method

// Check the length of a buffer object:
var len = Buffer.byteLength('GeeksForGeeks');

console.log(len);

Выход:

13

Примечание:

  • В Node.js v7.0.0, недопустимый входной параметр выдаст ошибку.
  • В Node.js v5.10, значение параметра string может быть любым типом массива, представления данных или буфера массива.
  • Этот метод добавляется к node.js v0.1.90.

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