реклама на сайте
подробности

 
 
> SIM900 & SMS в 16-битной кодировке
rx3apf
сообщение Aug 16 2010, 20:52
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Обновил прошивку до 06, но картина не изменилась - вне зависимости от установки AT+CMGF тело сообщений в 16-битной кодировке как шло hex-дампом, так и идет. SIM300 точно превращал такие сообщения в нормальный ASCII-текст (проверил перестановкой модулей и карточек на макете). Впрочем, декодер PDU я уже написал, так что мне по-фигу wink.gif Но все равно - как-то это неправильно...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
CADiLO
сообщение Aug 17 2010, 08:32
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988



А посмотрите пожалуйста что установлено по AT+CSDH в SIM300 и SIM900 ?
Одинаковые настройки ?


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 19 2010, 15:45
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(CADiLO @ Aug 17 2010, 12:32) *
А посмотрите пожалуйста что установлено по AT+CSDH в SIM300 и SIM900 ?
Одинаковые настройки ?

В SIM900 там 0, макета с SIM300 под рукой нет, но я его точно не менял, значит, тоже должен быть 0. Смена на 1 дает только более детальную шапку, само тело без изменений.

Цитата(stream @ Aug 19 2010, 11:28) *
О какой осмысленности текста можно говорить, если процитированный дамп описывает сообщение в unicode-формате? То, что SIM300 выдавал в этом случае какую-то текстовую кашу из символом с кодом 0x04 и псевдографики (при этом символы с кодом 0x00 тихо обрезал) - я бы назвал багом, который наконец-то исправили.

Если бы при этом хотя бы текст из семибитного ASCII с нулевым байтом впереди нормально выводился бы - я бы согласился. Однако же нет (по крайней мере, в тех случаях, когда где-то там в конце сообщения присутствует что-то 0x04xx). Т.е., если я отправляю сообщение через бесплатный сервис на www.mts.ru, то SIM900 его принимает только как hex-дамп, даже если _я_ ничего кроме ASCII не использовал (хвостик дописал сам сервис)..
Go to the top of the page
 
+Quote Post
stream
сообщение Aug 24 2010, 07:21
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919



Цитата(rx3apf @ Aug 19 2010, 19:45) *
Если бы при этом хотя бы текст из семибитного ASCII с нулевым байтом впереди нормально выводился бы - я бы согласился. Однако же нет (по крайней мере, в тех случаях, когда где-то там в конце сообщения присутствует что-то 0x04xx).

Ты сам себе противоречишь - если "где-то там в конце сообщения присутствует что-то 0x04xx", то это уже не 7-битный ASCII, и модуль не волнует, кто дописал этот хвостик. Главное, что он не знает, как отобразить такой символ в текстовом виде (вариант SIM300 - неформализуемая каша из 7-битного текста и старшего-и-младшего-unicode-байт-как-есть, вариант SIM900 - принудительно сваливаемся в hex формат). Чтобы правильно напечатать юникодный символ, модуль должен знать про кодировку CP1251, CP866, CP878 или какая-тем тебе нужна...

Отправь SMS с телефона или даже лучше другого SIM300, тогда точно останется будет 7-битный ASCII без всяких хвостиков.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 24 2010, 16:53
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(stream @ Aug 24 2010, 11:21) *
Ты сам себе противоречишь - если "где-то там в конце сообщения присутствует что-то 0x04xx", то это уже не 7-битный ASCII, и модуль не волнует, кто дописал этот хвостик. Главное, что он не знает, как отобразить такой символ в текстовом виде (вариант SIM300 - неформализуемая каша из 7-битного текста и старшего-и-младшего-unicode-байт-как-есть, вариант SIM900 - принудительно сваливаемся в hex формат). Чтобы правильно напечатать юникодный символ, модуль должен знать про кодировку CP1251, CP866, CP878 или какая-тем тебе нужна...

Если старший байт при этом 00, и у младшего старший бит 0 - я бы предположил, что это все ж ASCII. И SIM300 делал так. И меня это вполне устраивало. Хоть бы и каша, хоть бы и вообще не отображал то, что не ASCII.

Цитата
Отправь SMS с телефона или даже лучше другого SIM300, тогда точно останется будет 7-битный ASCII без всяких хвостиков.

Отправлял. Да, 7-битный нормально декодируется (кто б сомневался). Но _меня_ это не устраивает.

P.S. Кстати, когда в сообщении все пары 00xx, и xx только ASCII - все равно такая же фигня...

Сообщение отредактировал rx3apf - Aug 24 2010, 17:27
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01831 секунд с 7
ELECTRONIX ©2004-2016