我正在尝试使用PER编码解码ASN1,我有输入Hexa字符串作为示例: “04 39 04 9E B7 DB 60 50 10 0D 0A 90 D8 24 B0 0A 76 AB 9A” 我想从这个输入信息中提取出来:
UL-CCCH-Message
message: cellUpdate (0)
cellUpdate
u-RNTI
srnc-Identity: 0e40 [bit length 12, 4 LSB pad bits, 0000 1110 0100 .... decimal value 228]
s-RNTI: 127ad0 [bit length 20, 4 LSB pad bits, 0001 0010 0111 1010 1101 .... decimal value 75693]
startList: 4 items
Item 0
STARTSingle
cn-DomainIdentity: ps-domain (1)
start-Value: b6c0a0 [bit length 20, 4 LSB pad bits, 1011 0110 1100 0000 1010 .... decimal value 748554]
任何人都知道如何用java做到这一点?
答案 0 :(得分:1)
使用现有的库而不是编写自己的库。考虑http://harmony.apache.org/subcomponents/classlibrary/asn1_framework.html
答案 1 :(得分:0)
您需要将ASN.1规范提供给ASN.1编译器。 ASN.1编译器将生成编码器/解码器以将二进制数据转换为解码的Java对象。您可以在http://www.itu.int/en/ITU-T/asn1/Pages/Tools.aspx找到一个很好的ASN.1 / Java编译器列表(一些是免费的,一些是商业的)。