0

我运行了免费的在线编译器(位于http://lionet.info/asn1c/asn1c.cgi)并为 IMSRecord(电信 CDR)创建了源文件。

它构建得很好,但是当我运行生成的 C 可执行文件时,它会将字符串打印为十六进制字符,如下所示: sIP-Method: 49 4E 56 49 54 45

我怎样才能让它打印为

SIP-方法:邀请

我尝试了各种命令行选项,但无法改变它。

这可能与我当时可能不了解的在线编译器选项之一有关吗?

谢谢,

米奇

4

1 回答 1

0

OCTET STRING 类型不应该是可打印的。因此 asn1c 打印出这串字节的十六进制转储。如果你想要一个可读的输出,我建议用类似 IA5String 或 UTF8String 的东西替换 OCTET STRING,这取决于你认为这个 OCTET STRING 承担的编码类型。这是您的选择,而 asn1c 无法自动做出此选择,因为它不能期望特定的编码。

于 2012-08-27T21:21:48.257 回答