我运行了免费的在线编译器(http://lionet.info/asn1c/asn1c.cgi)并为IMSRecord(电信CDR)创建了源文件。
它构建正常,但是当我运行生成的C可执行文件时,它将字符串打印为十六进制字符,如下所示: sIP-方法:49 4E 56 49 54 45
如何将其打印为
sIP-Method:INVITE
我尝试了各种命令行选项,但无法让它改变。
这可能与我当时可能不了解的在线编译器选项之一有关吗?
谢谢,
米奇
答案 0 :(得分:0)
OCTET STRING类型不应该是可打印的。因此asn1c打印出这一堆字节的十六进制转储。如果你想要一个可读的输出,我建议用IA5String或UTF8String替换OCTET STRING,这取决于你认为这个OCTET STRING所承受的编码类型。这是你的选择,asn1c不能自动做出这个选择,因为它不能指望特定的编码。