Regex и текст
Длина строки в JavaScript: символы, байты, эмодзи и суррогатные пары
Свойство .length в JavaScript считает кодовые единицы UTF-16, а не количество реальных символов, эмодзи или байтов.
Опубликовано
Живое сравнение метрик
Проверьте строку
Введите текст или выберите пресет. Четыре значения рассчитываются по той же логике, что и в String Length Calculator.
Результат → объяснение
Почему значения различаются
Считает кодовые единицы UTF-16, используемые строками JavaScript.
Считают скалярные значения Unicode, но не обязательно видимые символы.
Приближены к символам, которые пользователь видит на экране.
Измеряют размер закодированной полезной нагрузки или файла.
Выберите нужную метрику
| Метрика | API | Для чего использовать |
|---|---|---|
| Единицы UTF-16 | value.length | Ограничения JavaScript и DOM |
| Кодовые точки | [...value].length | Скалярные значения Unicode |
| Графемы | Intl.Segmenter | Лимиты видимых символов |
| Байты UTF-8 | TextEncoder | Размер передачи и хранения данных |
Интерактивный расчет
Измерьте длину вашей строки
Сравните .length, кодовые точки Unicode, графемы и байты UTF-8 в реальном времени.