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

 
 
> CUSD запрос, как расшифроватЬ ?
MKdemiurg
сообщение Oct 18 2014, 14:57
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 624
Регистрация: 15-06-10
Из: Россия
Пользователь №: 57 939



Оператор WIN и МТС РОС

AT+CUSD=1,"*100#",15

OK

+CUSD: 0,"04110430043B0430043D0441003A003100330037002C0035003004400020",72


Как его расшифровать?
И как отличить, когда приходит латиница?

Может у кого есть готовые процедурки для расшифровки? sm.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
mantech
сообщение Oct 18 2014, 15:58
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(MKdemiurg @ Oct 18 2014, 17:57) *
Как его расшифровать?
И как отличить, когда приходит латиница?


Про юникод почитайте. Вкратце - 2х байтное представление символов, 04 код кириллицы, 00- латинские символы, след.байтом идет код символа, надо вычесть некоторое число(забыл уже laughing.gif ) и получаем код соотв ANSI.
Go to the top of the page
 
+Quote Post
adnega
сообщение Oct 18 2014, 20:00
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Почитайте про PDU, там такое было.
Переводит в win-1251, исходная строка состоит из 16-битных символов
(0411-0430-043B-0430-043D-0441-003A-0031-0033-0037-002C-0035-0030-0440-0020)
Код
                if((0x410 <= new_char) && (new_char <= 0x044F))
                {
                    str[j] = new_char - 0x0410 + 0xC0;
                }
                else if(new_char == 0x0401)
                {
                    str[j] = 'Ё';
                }
                else if(new_char == 0x0451)
                {
                    str[j] = 'ё';
                }
                else if(new_char < 128)
                {
                    str[j] = new_char;
                }
                else
                {
                    str[j] = '?';
                }
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 19 2014, 06:45
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(adnega @ Oct 18 2014, 23:00) *
str[j] = new_char - 0x0410 + 0xC0;


Вот именно это я и хотел сказать...
Go to the top of the page
 
+Quote Post
MKdemiurg
сообщение Oct 19 2014, 08:13
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 624
Регистрация: 15-06-10
Из: Россия
Пользователь №: 57 939



ооо, спасибо.
Go to the top of the page
 
+Quote Post
vintick
сообщение Nov 6 2014, 14:43
Сообщение #6


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

Группа: Участник
Сообщений: 186
Регистрация: 4-05-09
Пользователь №: 48 624



А переключить чтобы латиница шла срзу в ответах от станции можно?
Или это оператор определяет? Нужен баланс в тексте.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 16:13
Рейтинг@Mail.ru


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