Лимит символов SMS: GSM-7, Unicode, арабский и эмодзи
Лимиты символов SMS: GSM-7 и UCS-2, 160 и 70 знаков, 153 и 67 в сегменте, почему арабский и эмодзи удорожают рассылку. Как уложиться в сегмент.
Автор: OmniChannels.ai Editorial Team · Проверил: BroadNet Messaging Solutions Team
SMS и OTP
Короткий ответ
Одно SMS вмещает 140 байт текста. В 7-битном алфавите GSM, который используется для базового латинского текста, это 160 символов; в Unicode (UCS-2), необходимом для арабского, эмодзи и многих букв с диакритикой, это 70 символов. Более длинные сообщения делятся на сегменты по 153 символа GSM-7 или 67 символов Unicode, и каждый сегмент тарифицируется. Один символ вне GSM переводит всё сообщение в Unicode.
На этой странице
Главное
- Одно SMS содержит 140 октетов пользовательских данных: 160 символов GSM-7 или 70 символов UCS-2, как определено в 3GPP TS 23.040 и TS 23.038.
- В составных сообщениях часть места занимает заголовок в каждой части, поэтому в сегменте остаётся 153 символа GSM-7 или 67 символов UCS-2.
- Одна арабская буква, эмодзи, «фигурная» кавычка или неподдерживаемый диакритический знак переводит всё сообщение в кодировку UCS-2.
- Символы расширения GSM-7, такие как €, [, ], {, }, ~, \ и |, считаются за два символа, потому что для них нужен управляющий код.
- SMS на арабском стоят дороже в пересчёте на слово, чем на английском, из-за UCS-2, поэтому сокращение текста напрямую влияет на стоимость кампании.
Это руководство для маркетологов, CRM-команд и разработчиков, которые пишут SMS на английском, арабском и других языках и хотят управлять стоимостью и доставляемостью. Вы узнаете, как устроено кодирование SMS, сколько символов помещается в каждый сегмент и как писать сообщения, которые укладываются в предсказуемое число сегментов.
Сколько символов помещается в одно SMS?
Одно SMS содержит 140 октетов (байт) пользовательских данных. Сколько символов в них поместится, зависит от кодировки, а провайдер выбирает кодировку автоматически по тем символам, которые вы используете.
Правила задают две спецификации 3GPP: TS 23.040 определяет структуру SMS-сообщения, а TS 23.038 определяет алфавиты.
| Кодировка | Бит на символ | Одно SMS | В сегменте при разбиении | Для чего используется |
|---|---|---|---|---|
| 7-битный алфавит GSM по умолчанию | 7 | 160 символов | 153 символа | Базовые латинские буквы, цифры, распространённая пунктуация, некоторые буквы с диакритикой |
| UCS-2 (16-битный Unicode) | 16 | 70 символов | 67 символов | Арабский, эмодзи, китайский, большинство букв с диакритикой и специальных символов |
| 8-битные данные | 8 | 140 байт | 134 байта | Бинарные данные, не обычный текст |
Арифметика проста: 140 октетов × 8 бит ÷ 7 бит = 160 символов GSM-7, а 140 ÷ 2 байта = 70 символов UCS-2.
В чём разница между GSM-7 и UCS-2?
GSM-7 — компактный 7-битный алфавит, созданный для SMS. UCS-2 — 16-битная кодировка Unicode, которая может передать почти любую письменность, но занимает на символ более чем вдвое больше места.
GSM-7 включает A–Z, a–z, 0–9, распространённую пунктуацию, набор символов вроде @, £, $, % и &, а также ограниченный набор букв с диакритикой, среди них é, è, ü, ñ и à. В нём нет многих букв с диакритикой, которые используются во французском, испанском и португальском языках, например á, ç (строчная), ê или õ, а также нет ни арабской, ни кириллической, ни азиатских письменностей.
Таблица расширения
Некоторые распространённые символы находятся в таблице расширения GSM-7 и требуют предшествующего управляющего кода, поэтому каждый считается за два символа: € [ ] { } ~ \ | ^ и символ перевода страницы. Сообщение с несколькими знаками евро или скобками быстро теряет ёмкость.
Таблицы национальных языков
TS 23.038 также определяет таблицы сдвига для национальных языков, таких как турецкий, испанский, португальский и несколько индийских языков. Они позволяют использовать больше символов в 7-битном режиме. Поддержка зависит от сетей, провайдеров и телефонов, поэтому не полагайтесь на них, не протестировав на нужных операторах.
Почему в сегменте длинного SMS 153 или 67 символов?
Если сообщение превышает одно SMS, оно делится на сегменты, и каждый сегмент несёт заголовок пользовательских данных (UDH), по которому телефон собирает сообщение. Обычный заголовок занимает 6 октетов, оставляя 134 октета для текста.
- В GSM-7 134 октета вмещают 153 символа.
- В UCS-2 134 октета вмещают 67 символов.
Телефон показывает одно сообщение, но ваш провайдер и оператор считают и, как правило, тарифицируют каждый сегмент.
| Сегменты | Максимум символов GSM-7 | Максимум символов UCS-2 |
|---|---|---|
| 1 | 160 | 70 |
| 2 | 306 | 134 |
| 3 | 459 | 201 |
| 4 | 612 | 268 |
| 5 | 765 | 335 |
Две практические детали меняют точное число. Провайдеры не разрывают между сегментами двухсимвольную последовательность расширения или эмодзи, поэтому в сегменте может поместиться на один символ меньше теоретического максимума. Кроме того, многие провайдеры ограничивают число сегментов в сообщении, поэтому очень длинные тексты могут быть отклонены или обрезаны; уточните лимит у своего провайдера.
Почему арабский и эмодзи меняют стоимость?
Любой символ вне GSM-7 переводит всё сообщение в UCS-2. Это снижает лимит одиночного сообщения со 160 до 70 символов, а лимит сегмента — со 153 до 67.
- Текст на арабском всегда использует UCS-2. Арабское сообщение в 100 символов занимает два сегмента; такое же по длине английское помещается в один.
- Эмодзи находятся вне GSM-7. Большинство эмодзи расположены за пределами базовой многоязычной плоскости Unicode и представлены в UTF-16 суррогатной парой, то есть двумя 16-битными единицами, поэтому занимают две из 70 доступных позиций. Составные эмодзи, например флаги или варианты с оттенками кожи, занимают больше.
- Скрытые «виновники» в английском тексте: «фигурные» кавычки (’ “ ”), короткое и длинное тире (– —), символ многоточия (…) и неразрывные пробелы, которые часто попадают в текст из текстовых редакторов или дизайнерских инструментов. Любой из них переводит сообщение в UCS-2.
Пример расчёта: кампания торгового центра в Эр-Рияде
«Najm Mall» (условный пример) планирует SMS-рассылку на выходные для 200 000 клиентов на английском и арабском. Мы подсчитали символы в каждом черновике.
| Черновик | Символы | Кодировка | Сегменты |
|---|---|---|---|
| Английский с обычными дефисами, без эмодзи | 122 | GSM-7 | 1 |
| Тот же английский с двумя короткими тире и одним эмодзи | 125 единиц | UCS-2 | 2 |
| Арабский, первый черновик | 153 | UCS-2 | 3 |
| Арабский, после редактуры | 101 | UCS-2 | 2 |
Английская версия (пример намеренно приведён на английском, чтобы показать кодировку GSM-7): "Najm Mall: Weekend sale, up to 30% off home & kitchen. Fri-Sat 10am-10pm. Show this SMS at the till. Reply STOP to opt out". Добавление эмодзи с хлопушкой и типографских тире вдвое увеличило число сегментов для англоязычной аудитории. Редактура арабского текста с трёх сегментов до двух снизила расходы на эту аудиторию на треть при том же предложении и том же сроке акции.
Как писать SMS, которые умещаются в сегмент?
Сначала определите бюджет сегментов, затем пишите под него. Чек-лист для каждой кампании:
- Задайте цель: один сегмент для OTP-кодов и уведомлений; один-два для маркетинговых сообщений.
- Пишите в текстовом редакторе без форматирования и заменяйте типографские кавычки и тире на обычные.
- Не добавляйте эмодзи в английские сообщения, если вы не решили, что дополнительный сегмент того стоит.
- Используйте счётчик сегментов, который определяет кодировку до отправки, и просматривайте итоговый текст, включая поля персонализации с максимально вероятной длиной.
- Учитывайте переменные: длинное имя клиента или название товара может перевести сообщение в следующий сегмент.
- Для арабского уберите огласовки (tashkeel) и декоративное удлинение букв (tatweel), каждый такой знак считается как символ; выбирайте короткие формулировки и сокращения, которые аудитория читает естественно.
- Сокращайте ссылки с помощью собственного брендированного домена, а не вставляйте длинные трекинговые URL.
- Тестируйте на телефонах на каждом языке, чтобы проверить отображение и число сегментов.
Для OTP-кодов ставьте код в начало и укладывайтесь в один сегмент; см. наше руководство по OTP. Для планирования кампаний см. лучшие практики массовой SMS-рассылки.
Типичные ошибки и ограничения
- Подсчёт символов без учёта кодировки. Сообщение из 90 символов может занять один сегмент или два.
- Небрежное смешивание языков. Одно арабское слово в английском сообщении переводит всё сообщение в Unicode.
- Игнорирование таблицы расширения. Цены в евро и скобки в GSM-7 считаются за два символа.
- Забытая длина персонализации. Тестируйте на самых длинных значениях из ваших данных.
- Предположение, что все провайдеры считают одинаково. Правила разбиения и максимальное число сегментов различаются; уточняйте у своего провайдера.
- Ограничения этого руководства: телефоны и сети иногда по-разному обрабатывают крайние случаи, особенно таблицы национальных языков и сложные эмодзи. Тестируйте важные сообщения на тех операторах, куда вы отправляете.
Чем помогает OmniChannels.ai
OmniChannels.ai поддерживает арабский и английский в SMS-рассылках и других каналах: предпросмотр сообщения перед отправкой, загрузка из Excel или CSV, планирование и фильтрация дубликатов. Отчёты о доставке (DLR) со сводным и расширенным видом, фильтрами и экспортом в CSV помогают сверить, что было отправлено и доставлено. SMS доставляются через BroadNet Technologies, телеком-компанию в сфере сообщений с подключением к SMS-операторам, а оплата идёт с предоплатного кошелька. Узнайте больше о том, как запускать омниканальные кампании.
Часто задаваемые вопросы
Сколько символов помещается в одно SMS?
Одно SMS содержит 140 октетов пользовательских данных. В 7-битном алфавите GSM по умолчанию это 160 символов. В кодировке UCS-2 (Unicode), которая нужна для арабского, китайского, эмодзи и символов вне алфавита GSM, это 70 символов. Если сообщение длиннее, оно отправляется как несколько связанных сегментов и, как правило, тарифицируется по сегментам.
Почему в части длинного SMS 153 символа, а не 160?
При разбиении сообщения каждая часть получает заголовок пользовательских данных, по которому телефон собирает части воедино. Обычный заголовок занимает 6 октетов, поэтому в каждом сегменте остаётся место для 153 символов GSM-7 или 67 символов UCS-2. Телефон показывает части как одно сообщение, но сеть и ваш провайдер считают их отдельно.
Сколько символов может быть в SMS на арабском?
Арабского языка нет в 7-битном алфавите GSM, поэтому SMS на арабском используют кодировку UCS-2: 70 символов в одном сообщении или 67 на сегмент, если сообщение длиннее. Пробелы, знаки препинания и западные цифры в арабском сообщении тоже входят в этот лимит Unicode, потому что всё сообщение использует одну кодировку.
Делают ли эмодзи SMS дороже?
Обычно да. Эмодзи нет в алфавите GSM, поэтому один эмодзи переводит всё сообщение в Unicode и снижает лимит одиночного сообщения со 160 до 70 символов. Большинство эмодзи занимают две 16-битные единицы, а некоторые составные, например флаги, занимают ещё больше, поэтому они расходуют дополнительное место в лимите Unicode.
Можно ли отправлять SMS на арабском в GSM-7, чтобы сэкономить?
Только если писать арабский латинскими буквами, так называемым арабизи (Arabizi). Такой текст помещается в GSM-7, но многим клиентам его труднее читать, а бренд он может сделать менее надёжным в глазах получателя. Лучше экономить за счёт сжатого арабского текста: уберите огласовки и декоративное удлинение букв и ориентируйтесь на заданное число сегментов.
Источники
Читайте дальше
Ещё руководстваSMS и OTP
Что такое A2P SMS: как бизнес-сообщения доходят до телефона
Что такое A2P SMS: отличие от P2P, путь сообщения от приложения до телефона, прямые и непрямые маршруты, серые маршруты и вопросы к SMS-провайдеру.
8 мин чтения
SMS и OTP
Лучшие практики массовой SMS-рассылки: как планировать кампании
Лучшие практики массовой SMS-рассылки: чистота базы, время отправки и тихие часы, структура сообщения, отписка, отчёты о доставке и тест перед запуском.
8 мин чтения
Интеграции
Как выбрать API для обмена сообщениями: чек-лист для CTO
Как выбрать API для сообщений: чек-лист для CTO по каналам, качеству маршрутов, вебхукам, безопасности, лимитам, повторам, SMPP, MCP, комплаенсу и ценам.
13 мин чтения
