我正在做一个asn文件结构,我现有的代码的数据类型为:。
Fieldname::= INTEGER
根据我的要求,我把它改成了。
Fieldname::= INTEGER --<HUGE>--
在通过java解析这个值时,我使用的是:
int intValue = Fieldname.intValue()
在改变数据类型(巨大的整数)后,我得到了错误。
Error:(750,121) java: cannot find symbol
Cannot resolve method 'intvalue'
这只是解析器的问题。如何将一个字符串解析为巨大的int。
你没有说你使用的是什么工具。
EDIT:从你的评论中,我了解到你使用的是OSS Nokalva。这是一个商业产品,你应该从那里寻求支持。
然而,这似乎很正常
该 --<HUGE>--
是一个提示(pragma),让你的代码生成器使用一些比一个 int
在你的java代码中。(注意,就asn.1而言,它只是一个注释)。
因此,访问器将是不同的。longValue()
或者 bitIntegerValue()
或任何你的文档说的。
看一下生成的代码,你会发现它很容易。
我已经解决了这个问题,我在java代码中使用了下面的代码来解析这个值。
BigInteger intValue = Fieldname.bigIntegerValue()