Перейти к содержанию
    

sms на русском

как бысторо и красиво реализовать прием и отправку sms на руссом.

 

Поделитесь идеями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Быстро и красиво"... Хм... При отправке SMS на русском альтернативы для "PDU - UCS2" - нет. Отсюда следует и плясать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Набрать на клавиатуре телефона и отправить :)

Чем не быстро и чем не красиво?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я это все понимаю.

с телефона, с ПК = ОЧЕНЬ УДОБНО ОТПРАВЛЯТЬ.

Ну я все же хотел бы с sim300 отправить.

 

латиницей у меня все хорошо работает.

Хотелось бы теперь и на русском что нибудь изобразить.

Вопрос:

Где можно про это почитать == PDU - UCS2.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Где можно про это почитать == PDU - UCS2.

В описании АТ-команд:

16-bit universal multiple-octet coded character set;

UCS2 character strings are converted to hexadecimal

numbers from 0000 to FFFF. ; e.g. “004100620063”

equals three 16-bit characters with decimal values 65,98

and 99.

for UCS2 format see commands examples +CLIP, +CCWA, +COLP +CSCS

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно сделать быстрее, особо не разбираясь, если нужен ограниченный набор SMS. Набрать с любой мобилы на русском и принять их в модуль. Затем в том же формате зашивать в софт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Набрать с любой мобилы на русском и принять их в модуль. Затем в том же формате зашивать в софт.

Лучше для этих целей воспользоваться программой PDUspy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Глупый вопрос, надеюсь на умный ответ:

 

Если я включу режим PDU - UCS2, то модем просто тупа будет всю инфу присылать в иниформате. Или это будет касаться только SMS.

(если даже латинский символ, он все равно будет в унифомате???)

 

И надо ли этот режим выключать.

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для отправки СМС Вы включаете режим PDU. В служебной информации PDU указываете, что текст сообщения имеет кодировку UCS2, далее идет само сообщение в указанной кодировке. К модему все это - не имеет отношения.

 

ЗЫ. Всё текстовое сообщение - в одной кодировке, той, что указана в служебной части PDU. Если в тексте только символы из основного набора применяйте для этого сообщения семибитную кодировку, ну, а если в тексте присутствует хоть один символ кириллицы - UCS2 (для всего сообщения, и для символов из основного набора тоже).

Изменено пользователем Палыч

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ребят, что-то я про декодировку не совсем понял. (кодировку уже написал - работает нормально)

 

Смотрите - есть 2 вида кодировки: стандартная (без русских символов) и UCS2

За вид кодировки отвечает DCS октет. Этот октет касается всего PDU или как?

 

В каком виде закодирована длинна сообщения для первого и второго случая?

 

Если у кого есть алгоритм - буду благодарен... (алгоритм хоть на чем, я пишу на IEC 61131)

 

И еще - если можно, поясните возможные значения поля DCS.... Вроде делал все по документации, но отправляемые смс-ки стали корректными только после DCS=08

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

DCS задает кодировку поля UD. Длина (UDL): для 7-мибитных данных -число символов (семибитных), для 8-мибитных и UCS2 - число октетов в UD.

 

Возможные значения DCS (группа 00хх)

биты 7,6 = 0

бит 5 = 1 - текс SMS сжат (0 - не сжат)

бит 4 = 0 - биты 0,1 - не несут смысловой нагрузки (1 - биты 0,1 - класс сообщения)

биты 3,2 - используемый алфавит (00 - по умолчанию, 01 - 8бит, 10 - UCS2)

биты 1,0 - класс сообщения (если бит 4 = 1)

 

PS. Значение DCS=08 при кодировке UCS2 - это то, что нужно

Изменено пользователем Палыч

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А само UDL как кодируется? просто я посмотрел PDU для UCS2 и обычной кодировки - в UCS2 получается что каждому введенному символу соответствует 4 знака в пакете, а при обычной кодировке - 2.

 

Конечно проще взять, да проверить, но сейчас просто не на чем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А само UDL как кодируется? просто я посмотрел PDU для UCS2 и обычной кодировки - в UCS2 получается что каждому введенному символу соответствует 4 знака в пакете, а при обычной кодировке - 2.

 

UDL - всегда (!) два символа (октет). Его значение - см. предыдущий пост. Число символов (знаков) в пакете на символ сообщения зависит от кодировки, причем это распространяется только (!) на поле UD. При "обычной" кодировке - семь бит на символ сообщения упаковываются в октеты и в результате имеем примерно 7/4 символа (знака) поля UD на символ сообщения, при UCS2 - 4 символа (знака) поля UD на символ сообщения.

 

Чтобы прояснить всякие детали - найдите в сети программу PDUspy. Она генерит и декодирует PDU в различных настройках/кодировках- всё это на экране дисплея, и для её работы ничего более не требуется

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...