Декодирование вывода компилятора asn.1 в виде строк

Я запустил бесплатный онлайн-компилятор (по адресу http://lionet.info/asn1c/asn1c.cgi) и создал исходные файлы для IMSRecord (телекоммуникационный CDR).

Он построен нормально, но когда я запускаю сгенерированный исполняемый файл C, он печатает строки в виде шестнадцатеричных символов следующим образом: sIP-метод: 49 4E 56 49 54 45

Как я могу заставить его напечатать как

sIP-метод: ПРИГЛАСИТЬ

Я пробовал различные параметры командной строки, но не смог заставить его измениться.

Возможно, это связано с одним из вариантов онлайн-компилятора, который я, вероятно, не понимал в то время?

Спасибо,

Митч

1 ответ

Тип OCTET STRING не предназначен для печати. Поэтому asn1c распечатывает шестнадцатеричный дамп этой группы байтов. Если вам нужен читабельный вывод, я предлагаю заменить OCTET STRING на что-то вроде IA5String или UTF8String, в зависимости от того, какую кодировку, как вы думаете, несет эта OCTET STRING. Это ваш выбор, и asn1c не может сделать этот выбор автоматически, потому что не может ожидать определенной кодировки.

Другие вопросы по тегам