Количество символов в SMS

Делал форму отправки SMS и озадачился вопросом о том, сколько символов умещается в одно сообщение. Думаете 160 латинских или 70 русских? А-ха-ха!

В SMS используется 7-битная кодировка, то есть таблица из 127 символов, включающая в себя все латинские символы ASCII и некоторые европейские с греческими, а также знак евро (€).

Но некоторые символы из этого «экранируются» и в итоге считаются за два символа, в общем случае вот этот набор: {}[]\|^~€

Для остальных символов используется кодировка UCS-2, устаревший вариант UTF-16.

Но и тут еще не все.

Слишком длинное сообщение может быть разделено на части, получится «составное SMS». Тогда к каждому сообщению добавляется небольшой заголовок с признаком того, что сообщение является частью «составного» и количество латинских символов уменьшается до 152 или 153 в зависимости от стандарта (их несколько).

Дальше — больше. В некоторых странах, например в Турции, используется «альтернативная кодировка», в которой часть европейских символов из 127-символьного набора заменены на местные, национальные и поэтому их в сообщении тоже может быть 160. Но это уже экзотика.

Нашел неплохой javascript для подсчета количества необходимых SMS и символов.

Автор

Сергей Родовниченко

Родился, учился, работал и все такое. Занимаюсь поддержкой сайтов на Shop-Script, Joomla, Wordpress, Prestashop. А также на самописных движках на базе CakePHP.

Количество символов в SMS: 1 комментарий

  1. Здравствуйте, скажите, а как можно модифицировать этот скрипт, чтобы он работал с несколькими формами на одной странице?

    У меня выводится список смс, на которые можно написать ответ и все они на одной странице. Скрипт работает с первой формой а остальные игнорирует…
    Буду очень благодарен.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *