2
我应该解析ASN1编码的字节数组到Java对象。我的公司给了我一个非常详细的结构文件。然而,在他们的分析数据(没有代码,从比特只映射到的值)的例子:解析ASN1数据
- 在这些7个字节最后7个字节从HEX转换为基于特定位组成的二进制
- 分配值
有没有考虑标签和长度。该示例还跳过了前面的字节。我不知道如何解析这样的数据,使用Bouncy Castle ASN1库。
这是数据:
这是映射:
22 0....... some field = 0
.01000.. some field = 8
......1. some field = 1
.......0 some field = 0
是否ASN1编码的数据必须在标签长度值格式,或能不能正在使用某种特定的语法?
现在这是我的代码:
ASN1InputStream asn1InputStream = new ASN1InputStream(
new ByteArrayInputStream(
ByteArrayUtil.hexStringToByteArray(
"16" + "07" +
"22" + "00" + "00" + "19" + "BF" + "12" + "E0")));
ASN1Primitive deria5String;
while ((deria5String = asn1InputStream.readObject()) != null) {
//process
}
解析那些过去的7个字节给我型DERIA5String的对象。
编辑1:这里是ASN1结构我应该得到读取的InputStream的定义:
您能否为示例数据添加samle ASN1语法定义? –