Что такое калькулятор количества SMS?
Этот инструмент показывает, на сколько SMS-сегментов разобьётся ваш текст, в какой кодировке он будет отправлен (GSM-7 или UCS-2/Unicode) и сколько символов осталось до того, как добавится новый сегмент. Операторы тарифицируют каждый сегмент отдельно, поэтому одно «сообщение» на экране может обойтись как несколько SMS, если оно вышло за лимит.
Как пользоваться
Вставьте или наберите текст, затем выберите режим кодировки. Автоопределение выбирает GSM-7, если все символы входят в алфавит GSM-7, и переключается на UCS-2 в противном случае. Можно также принудительно задать любую кодировку, чтобы заранее оценить разницу в стоимости.
Как работает формула
Сообщение из одного сегмента вмещает 160 символов в GSM-7 или 70 в UCS-2. Как только лимит превышен, каждому сегменту нужен служебный заголовок для склейки, и ёмкость падает до 153 символов (GSM-7) или 67 (UCS-2) на сегмент. Количество сегментов считается как ceil(длина / лимит на сегмент).
$$\text{Segments} = \begin{cases} 1 & L \le 160 \\[4pt] \left\lceil \dfrac{L}{153} \right\rceil & L > 160 \end{cases} \qquad L = \text{GSM-7 length of }\text{Message}$$
Разбор примера
Сообщение из 200 символов в GSM-7 превышает лимит одиночного сегмента в 160 символов, поэтому включается многочастный режим: \( \lceil 200 / 153 \rceil = 2 \) сегмента. Общая ёмкость — \( 2 \times 153 = 306 \) символов, а значит остаётся \( 306 - 200 = 106 \) символов до того, как понадобится третий сегмент.
Частые вопросы
Почему сообщение делится по 153, а не по 160 символов? В многочастных сообщениях каждому сегменту отводится 7 байт под заголовок, по которому телефон собирает части воедино.
Что включает кодировку UCS-2? Любой символ вне алфавита GSM-7 — популярные эмодзи, «фигурные» кавычки или многие буквы с диакритикой (а также вся кириллица) — переводит всё сообщение в UCS-2, снижая лимит до 70/67 символов.
Расходуют ли расширенные символы GSM-7 больше? Символы вроде {, }, [, ], |, ^, ~, \ и € занимают в GSM-7 по две единицы каждый, потому что им нужен дополнительный escape-символ.