Использование объекта Blob для вычисления размера строки в байтах
Теперь, когда мы понимаем, как представляются строки, давайте научимся вычислять фактический размер строки в байтах с использованием объекта Blob
.
Объект Blob
(Binary Large Object, двоичный большой объект) представляет собой файл-подобный объект неизменных необработанных данных. Преобразовав нашу строку в объект Blob, мы можем получить доступ к его свойству size
для определения размера в байтах.
В консоли Node.js создадим функцию для вычисления размера в байтах:
const byteSize = (str) => new Blob([str]).size;
Эта функция принимает строку в качестве входных данных, преобразует ее в объект Blob и возвращает его размер в байтах.
Протестируем эту функцию на простом примере:
byteSize("Hello World");
Вы должны увидеть следующий вывод:
11
В этом случае количество символов и размер в байтах совпадают, потому что строка "Hello World" содержит только ASCII-символы, каждый из которых представлен одним байтом.
Теперь попробуем с не-ASCII символом:
byteSize("😀");
Вы должны увидеть следующий вывод:
4
Это показывает, что хотя эмодзи выглядит как один символ, он на самом деле занимает 4 байта хранилища.