首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASN.1译码错误

ASN.1译码错误
EN

Stack Overflow用户
提问于 2015-06-02 16:24:19
回答 1查看 3K关注 0票数 0

我正在使用Objective (http://www.obj-sys.com/products/asn1c/index.php) ASN.1 Compiler和规范文件(cdr_spec.asn)生成的Java源代码。CDRS是基于格式BER(基本编码规则)进行编码的。

命令生成Java源:

代码语言:javascript
复制
./asn1c cdr_spec.asn -java -ber -reader -print -getset -pkgname com.testpkg

产生的源是:

代码语言:javascript
复制
ASN1C Compiler, Version 6.4.5
Copyright (c) 1997-2011 Objective Systems, Inc. All Rights Reserved.

Registered to: XXXXXX
Parsing ASN.1 definitions..

Generating Java source files for module XXX-XXX..

当我解码第一个CDR文件时,它只解析3行,CDR文件应该包含超过100行,所以它被部分解码。

当我尝试解码另一个CDR文件时,它在解码CDR文件时失败,并给出了这样的错误

代码语言:javascript
复制
com.objsys.asn1j.runtime.Asn1MissingRequiredException: ASN.1 decode error @ offset 832:
SEQUENCE or SET is missing a required element.
10:11:30.394 [main] ERROR com.testpkg.Test - ASN.1 decode error @ offset 832:
SEQUENCE or SET is missing a required element.

当我使用工具检查其语法时,我的ASN.1规范文件没有任何语法错误。

认识ASN.1的人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-03 13:26:22

当我尝试解码另一个CDR文件时,它在解码CDR文件时失败了,并给出了这样的错误: com.objsys.asn1j.runtime.Asn1MissingRequiredException: ASN.1解码错误@偏移量832:序列或SET缺少所需的元素。10:11:30.394主要错误com.testpkg.Test - ASN.1解码错误@偏移量832:序列或SET缺少必需的元素。

从您的描述来看,问题似乎在于输入数据,而不是实际规范本身。对于供应商来说,提供与硬件产生的数据不完全一致的规范是很正常的。

如果您能够识别缺少哪一个元素,则始终可以尝试在规范中标记字段OPTIONAL,重新生成代码,然后再试一次。

或者,您可以随时与软件和/或硬件供应商联系以获得帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30601478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档