Текст / Кодирование
Счётчик байтов (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% локально в вашем браузере, файлы на сервер не загружаются.
- Категория
- Инструменты для работы с текстом
- Запуски
- В вашем браузере
- Стоимость
- Бесплатно · без регистрации
- Доступность
- Готово к использованию
Полностью работает в браузере
Эти символы отсутствуют в алфавите GSM, поэтому всё сообщение отправляется в кодировке UCS-2 — по 70 символов на часть: 👍 🏽 日 本 語
Содержит 4-байтовые символы, например эмодзи: для их хранения MySQL требует набор символов utf8mb4; более старый набор utf8 (utf8mb3) их не поддерживает.
Ограничения, измеряемые в байтах
Многие ограничения считают байты, а не символы: столбцы баз данных и ключи индексов, заголовки HTTP и cookie (около 4 KB на cookie), имена файлов (255 байт в большинстве файловых систем), а также API для платежей и сообщений. В ограничении, вмещающем 255 латинских букв, может поместиться всего 85 китайских символов или 63 эмодзи.
Для ограничений, считающих символы, например в публикациях в социальных сетях, используйте счётчик символов; чтобы узнать кодировку файла, — определитель кодировки текста.
Как сделать SMS короткими
Заменяйте типографские кавычки и апострофы на прямые, тире — на дефисы и избегайте эмодзи, чтобы сообщение оставалось в алфавите GSM и вмещало 160 символов на часть вместо 70. Каждая дополнительная часть обычно тарифицируется как отдельное сообщение.
Как пользоваться
- Введите или вставьте текст.
- Посмотрите количество байтов, символов и частей SMS.
- Укажите лимит байтов, чтобы проверить, помещается ли текст, и получить безопасно обрезанную версию.
Конфиденциальность и ограничения
Текст обрабатывается в вашем браузере и никогда не загружается на сервер.
Похожие инструменты
Часто задаваемые вопросы
Почему база данных сообщает, что текст слишком длинный?
Ограничения столбцов могут учитывать байты, а не символы: префиксы индексов MySQL и многие старые системы используют байты, поэтому 255 китайских символов занимают 765 байтов в UTF-8.
Почему одно эмодзи превращает SMS в Unicode?
SMS использует 7-битный алфавит GSM, только если каждый символ входит в него. Один символ за его пределами, например эмодзи или типографские кавычки, переводит всё сообщение в UCS-2: в каждой части помещается 70 символов вместо 160.
На какие части разбивается длинное SMS?
На части по 153 символа GSM или 67 единиц UCS-2, поскольку каждая часть содержит заголовок для их объединения на телефоне. Некоторые символы, например € и [ ], в GSM занимают два места.
Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен