# GSM-7 и Unicode: как рассчитывается длина сообщения

> Почему похожие сообщения занимают один или три сегмента, какие символы меняют кодировку, как работает склейка и как уложить текст в один сегмент.

Обновлено 2026-08-15. Уровень: Средний. Автор: SMSMeteor.

## Главное

- Один символ за пределами GSM-7 переводит всё сообщение в Unicode.
- Составные сегменты вмещают 153 или 67 символов.
- Частые причины перехода на Unicode — типографские кавычки и эмодзи.
- Нелатинские письменности всегда используют Unicode.

## Два алфавита

SMS вмещает 140 байт. В GSM-7 на символ отводится семь бит, поэтому один сегмент содержит 160 символов (153 на часть при объединении). В Unicode (UCS-2) на символ требуется шестнадцать бит, и в сегмент помещается 70 символов (67 на часть при объединении). Кодировка выбирается для сообщения целиком: один символ вне GSM-7 переводит весь текст в Unicode.

## Сегменты и конкатенация

Длинный текст делится на сегменты, которые телефон собирает в одно сообщение. В каждом сегменте шесть байтов занимает служебный заголовок с номером части, поэтому ёмкость снижается до 153 символов для GSM-7 и 67 для Unicode. Плата взимается за каждый сегмент, максимум за 6 частей на сообщение. Редактор сообщений и ответ API показывают их количество до отправки, поэтому стоимость известна заранее.

## Что меняет кодировку

GSM-7 включает основные латинские буквы, цифры, распространённые знаки препинания и несколько букв с диакритикой из западноевропейских языков. Типографские кавычки, длинное тире, большинство эмодзи и буквы ő, ș, ă в него не входят. Любой такой символ переводит сообщение в Unicode. Чаще всего кодировку случайно меняет типографский апостроф, вставленный из текстового редактора.

## Писать для одного сегмента

- Используйте прямые кавычки и обычный дефис.

- Не используйте эмодзи в транзакционных сообщениях: они заметно сокращают ёмкость и не улучшают доставку.

- Делайте ссылки короткими и постоянными: адрес для отслеживания длиной 30 символов занимает пятую часть сегмента.

- Проверяйте текст с реальными данными: длинное имя в переменной может вывести итоговый вариант за предел сегмента, даже если шаблон помещается.

## Нелатинские письменности

Арабский, кириллица, греческий, иврит, деванагари, тайский, китайский, японский и корейский всегда используют Unicode. Это свойство письменности: в одном сегменте доступно 70 символов (67 на часть при объединении). Коды, уведомления и короткие подтверждения помещаются в один сегмент на любом языке. Рекламный текст лучше осознанно составить на два сегмента, чем случайно превысить один. Ожидаемая кодировка для каждого направления указана на [страницах стран](https://smsmeteor.com/ru/coverage).

---
Источник: https://smsmeteor.com/ru/guides/gsm7-vs-unicode (HTML). Создано SMSMeteor на основе тех же данных, что и страница. Сводка всего сайта: https://smsmeteor.com/ru/llms.txt
