已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。
20小时前关闭。
Improve this question
嗨,我有asn 1 C从.asn文件生成的代码,其中包含根据3GPP规范定义的序列。如何使用asn 1 C生成的代码按照任何编码规则对没有标记或长度的十六进制数据字符串进行解码?
--asn序列RPAddress ::= SEQUENCE { length OCTET STRING (SIZE(1)), numberTypeWithPlan OCTET STRING (SIZE(1)), addressField OCTET STRING }
HexString = "04802143f5"
--没有标签或长度
按照asn 1生成的C++代码解码此字符串
1条答案
按热度按时间1yjd4xko1#
您需要知道使用了什么编码规则对其进行编码。我怀疑您正在查看一个以PER编码的普通八位字节字符串,在这种情况下,您在八位字节字符串中只有长度4后跟4个字节,这不是您提供的ASN.1片段的完整编码,而可能只是addressField的编码。关于生成的代码,您需要联系ASN.1/C++工具的供应商以确定如何使用它。你也可以考虑在ASN.1 Playground上尝试这个,它可以向你展示各种编码规则会对你的数据做什么。