Текст / Кодирование

Счётчик байтов (UTF-8, UTF-16 и SMS)

Посчитайте байты текста в UTF-8 и UTF-16, его кодовые точки и видимые символы, а также нужное количество частей SMS. Обрежьте текст по лимиту байтов, не повреждая символы.

Счётчик байтов (UTF-8, UTF-16 и SMS): Разные системы измеряют длину по-разному. UTF-8, который используется на веб-страницах и в большинстве баз данных, занимает 1 байт для ASCII, 2 байта для большинства букв с диакритикой, греческих и кириллических букв, 3 байта для китайских, японских и корейских символов и 4 байта для эмодзи. JavaScript считает 16-битные единицы UTF-16, Python — кодовые точки, а пользователи видят графемные кластеры. Поэтому эмодзи с оттенком кожи для читателя является одним символом, но состоит из двух кодовых точек и занимает 8 байтов UTF-8. В SMS помещается 160 символов из алфавита GSM или 70 символов, если встречается любой другой символ. Работает на 100% локально в вашем браузере, файлы на сервер не загружаются.

Запуски
В вашем браузере
Стоимость
Бесплатно · без регистрации
Доступность
Готово к использованию
Счётчик байтЛокальная обработка

Полностью работает в браузере

Байты UTF-824веб-страницы, файлы, большинство баз данных
Байты UTF-1626JavaScript, Java, Windows
Видимые символы10графемные кластеры
Кодовые точки11что подсчитывает len() в Python
Длина JavaScript13Кодовые единицы UTF-16
Слова и строки3 · 1
Части SMS1UCS-2 · 13 из 70 на часть

Эти символы отсутствуют в алфавите GSM, поэтому всё сообщение отправляется в кодировке UCS-2 — по 70 символов на часть: 👍 🏽 日 本 語

Содержит 4-байтовые символы, например эмодзи: для их хранения MySQL требует набор символов utf8mb4; более старый набор utf8 (utf8mb3) их не поддерживает.

Ограничения, измеряемые в байтах

Многие ограничения считают байты, а не символы: столбцы баз данных и ключи индексов, заголовки HTTP и cookie (около 4 KB на cookie), имена файлов (255 байт в большинстве файловых систем), а также API для платежей и сообщений. В ограничении, вмещающем 255 латинских букв, может поместиться всего 85 китайских символов или 63 эмодзи.

Для ограничений, считающих символы, например в публикациях в социальных сетях, используйте счётчик символов; чтобы узнать кодировку файла, — определитель кодировки текста.

Как сделать SMS короткими

Заменяйте типографские кавычки и апострофы на прямые, тире — на дефисы и избегайте эмодзи, чтобы сообщение оставалось в алфавите GSM и вмещало 160 символов на часть вместо 70. Каждая дополнительная часть обычно тарифицируется как отдельное сообщение.

Как пользоваться

  1. Введите или вставьте текст.
  2. Посмотрите количество байтов, символов и частей SMS.
  3. Укажите лимит байтов, чтобы проверить, помещается ли текст, и получить безопасно обрезанную версию.

Конфиденциальность и ограничения

Текст обрабатывается в вашем браузере и никогда не загружается на сервер.

Похожие инструменты

Часто задаваемые вопросы

Почему база данных сообщает, что текст слишком длинный?

Ограничения столбцов могут учитывать байты, а не символы: префиксы индексов MySQL и многие старые системы используют байты, поэтому 255 китайских символов занимают 765 байтов в UTF-8.

Почему одно эмодзи превращает SMS в Unicode?

SMS использует 7-битный алфавит GSM, только если каждый символ входит в него. Один символ за его пределами, например эмодзи или типографские кавычки, переводит всё сообщение в UCS-2: в каждой части помещается 70 символов вместо 160.

На какие части разбивается длинное SMS?

На части по 153 символа GSM или 67 единиц UCS-2, поскольку каждая часть содержит заголовок для их объединения на телефоне. Некоторые символы, например € и [ ], в GSM занимают два места.

Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен