В основном с помощью SMS у вас есть два варианта отправки текста: либо используйте «алфавит по умолчанию», указанный в GSM 03.38 , либо используйте Unicode.
Алфавит по умолчанию - это обычный способотправлять SMS в большинстве западных стран, так как они предлагают приемлемый набор языков для этого региона.Это 7-битная кодировка, поэтому вы можете поместить до 160 символов в 140 доступных байтов.«До», потому что эта кодировка использует несколько таблиц.Вы можете получить доступ к символам в таблицах расширений, поставив перед ними префикс escape (s) (0x1B).Таким образом, 7-битное кодирование экономит место, если вы в основном используете первую таблицу.
Другой вариант - использовать Unicode (в частности, UCS-2).Очевидно, это дает вам гораздо более широкий набор символов, но за счет места: используя два байта для каждого символа, эта кодировка оставляет вам ограничение в 70 символов.
Я не могу говорить за Clickatell, поскольку я никогда не использовалих, но некоторые провайдеры предлагают вам абстрактный API, который позволяет вам использовать популярные кодировки, такие как ISO-8859-1 ("latin-1").В какой-то момент это все еще перекодируется в 7-битный алфавит по умолчанию.Могут быть применены даже некоторые правила отображения, например, используйте «è» вместо «é», потому что первое выглядит почти так же и находится в алфавите по умолчанию.Конечно, если вы хотите иметь полный контроль над контентом, вам нужно использовать API, который позволяет передавать текст, закодированный в алфавите GSM по умолчанию.