|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Imwill : 1 Новичок
|
Сен 26, 2011 16:03 |
|
|
Модем Teleofis RX101-R USB построенный на базе GSM модуля Telit GL868.
В проекте используется библиотека SMSLib.
На USSD запрос, например, баланса модем отвечает:
+CUSD: 2,"04110430043B0430043D0441002000330030002E00360034044004430431002E00000000102620000000000000000000AA020A00EA290030DFAA05009D0034C0",72
Используя документацию к GSM модулю Telit GL868 определил, что 72 в ответе означает GSM 3.38 Cell Broadcast Data Coding Scheme in integer format.
Погуглив на эту тему нашел документацию в которой описывается, что 72 = 0x48=01001000 = USC2 (16 bit)
Суть проблемы: имея на руках ответ от модема и зная кодировку, все равно не могу получить ответ в нужном виде. Ответ должен быть вида - "Баланс: 30 руб."
Как я понимаю проблему: библиотека SMSLib получая ответ от модема, не может определить его кодировку и возвращает просто набор шестнадцатиричных цифр преобразованных в строку(ответ на ussd запрос, выполненный с помощью AT команд в терминале, так же набор шестнадцатиричных цифр). Так как на Java я разрабатываю совсем недавно, то я не могу понять как преобразовать полученную от модема строку в текст вида "Баланс: 30 руб.". |
|
|
|
 |
Skipy : 4805 Я тут живу! Откуда: Москва, Россия
|
Сен 26, 2011 16:21 |
|
|
| Imwill писал(а): |
"04110430043B0430043D0441002000330030002E00360034044004430431002E00000000102620000000000000000000AA020A00EA290030DFAA05009D0034C0"
я не могу понять как преобразовать полученную от модема строку в текст вида "Баланс: 30 руб.". |
0411 0430 043B 0430 043D 0441 0020 0033 0030 002E 0036 0034 0440 0443 0431 002E
UCS2 16 bit = UTF-16
0411 = Б
0430 = а
043B = л
0430 = а
043D = н
0441 = с
0020 = ' ' (пробел)
0033 = 3
0030 = 0
002E = .
0036 = 6
0034 = 4
0440 = р
0443 = у
0431 = б
002E= . _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
|
|
Страница 1 из 1
|
Список форумов
-> Локализация (l10n & i18n) |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|