Декодирование вывода компилятора 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 не может сделать этот выбор автоматически, потому что не может ожидать определенной кодировки.