Кодировка SMS-сообщений

Все комментарии, не предназначенные для клиентов будут расположены вот в такой карточке.
Они помогут вам лучше понять процесс изнутри.

Платформа поддерживает два типа кодировок:

  • Сообщение, написанное на латинице — это как правило кодировка GSM 03.38. Состоит из 160 символов. В случае, если сообщение состоит из 2 и более частей, то количество символов в одном сообщении 153.
  • Сообщение, написанное на русском языке (кириллице) — это кодировка UCS2 (UTF16-BE, юникод). Состоит из 70 символов / 67 символов в случае, если сообщение состоит из 2 и более частей.
Если в SMS-сообщении есть хотя бы один кириллический символ, то всё сообщение считается кириллическим.
Можно отправлять длинные сообщения, состоящие из 2 и более SMS.
Но технически каждая из частей доставляется отдельно и затем склеивается в телефоне абонента. Чтобы склейка прошла корректно, часть емкости сообщения уходит на то, чтобы «подсказать» телефону что идет первым, вторым и т. д. Мы не рекомендуем отправлять сообщения, в которых более 10 частей (для GSM 03.38 это 153*10 = 1530 символов).
Набор символов, включенных в GSM 03.38:
@£$¥èéùìòÇ\nØø\rÅåΔ_ΦΓΛΩΠΨΣΘΞ\x1BÆæßÉ !"#¤%&\'()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà
Набор символов, включенных в UCS2 (юникод): все другие символы.
При отправке эмоджи важно учитывать, что один эмоджи может занимать до 4 символов в сообщении.
Проверить текст сообщения на соответствие gsm кодировке (латиница) можно по сслыке https://chadselph.github.io/smssplit/

Вставляете свой текст, выбираете gsm и он подсветит красным, если есть что-то неподходящее. Здесь же можно увидеть как сообщение будет разбито на части.