2014-02-14 4 views
12

Мне интересно, какое максимальное SMS-сообщение отправлено через Clickatell API для английского и для испанского сообщения?Какова максимальная длина SMS-сообщения?

Не уверен, существует ли разница между английским и испанским, поскольку испанский может содержать символы Unicode?

+2

Если я не ошибаюсь, это 140 символов. Это то, на чем основал Twitter, характерный лимит, поскольку это был сервис, ориентированный на SMS. –

ответ

16

От SMS wikipedia page:

сообщения посылаются с операциями МАР mO- и МТ-ForwardSM, чья полезная нагрузка длина ограничена ограничениями протокол сигнализации точно 140 октетов (140 октетов = 140 * 8 бит = 1120 бит).

В зависимости от того, какой алфавит у абонента настроен в трубке, это приводит к максимальному размеру отдельных коротких сообщений 160 7-битных символов, 140 8-разрядных символов или 70 16-разрядных символов.

На ваш вопрос:

Нет уверен, если есть разница между английским и испанским языками, так как испанский язык может содержать символы Unicode?

Нет, нет никакой разницы, так как английский и испанский полностью покрыты в 8-bit Latin 1 character set.

+0

Я считаю, что этот ответ явно ошибочен в ответ на вопрос ОП. Это общая информация (из Википедии всех мест!), Относящаяся к одному сегменту SMS-сообщений. Я дал ответ ниже, ссылаясь на руководство API Clickatell, которое, как я считаю, дает максимум 5355 символов, что значительно больше, чем 160 здесь! – Don

+0

Вы не можете быть уверены, что ваш мобильный телефон кодируется с использованием 8-битного набора символов латинского 1 –

5

SMS-сообщения могут содержать данные 140 байт. Однако данные SMS отправляются как бит-поток. Это означает, что если вы отправляете 7-битный ASCII, вы можете отправить 160 символов.

+0

'7 бит ASCII, (испанский не требует Unicode)' немного вводит в заблуждение, так как Unicode и 8-бит не взаимно включительно. – admdrew

5

SMS позволяет нескольким SMS-сообщениям быть нанизанными вместе (с длиной каждого сокращения для обеспечения «соединения» данных). У меня есть опыт отправки сообщений длиной 612 символов (4 SMS-сообщения) - сокращение на 7 символов на сегмент сообщения. В принимающей системе части могут быть получены из последовательности, причем сообщение имеет смысл только после того, как все части были получены. API Clickatell позволяет это, хотя их руководство по API на https://www.clickatell.com/downloads/http/Clickatell_HTTP.pdf рекомендует практическое максимум 3 сообщения, которое позволяет до 35 (см. Раздел 4.2.7). Итак, (игнорируя unicode на данный момент), вы можете отправить сообщение от 35 * 153 = 5355 символов через API Clickatell. Если вы отправляете символы юникода (который нет OP), количество символов для одного сообщения равно 70, уменьшено на 7 символов для каждого сегмента в конкатенированном сообщении или 63 * 35 = 2205 символов юникода.

+0

Спасибо, теперь я знаю, почему 153, а не 160. – tonix

+0

Ссылка, которую вы предоставляете, больше не работает. Там нет PDF. –

+0

Кроме того, мы надеемся, что каждый символ Юникода, который вы должны отправить, не равен 7 байтам. Даже азиатские языки обычно используют только 3 или 4 ... –

Смежные вопросы