2015-02-28 1 views
0

J'essaie de décoder ASN1 en utilisant le codage PER, j'ai comme entrée chaîne Hexa par exemple: "04 39 04 9E B7 DB 60 50 10 0D 0A 90 D8 24 B0 0A 76 AB 9A" et je veux extraire de cette information d'entrée comme ça:Comment décoder ASN1 octets pour extraire des informations?

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] 

quelqu'un a une idée de comment le faire avec Java?

Répondre

0

Vous devez avoir la spécification ASN.1 pour alimenter un compilateur ASN.1. Le compilateur ASN.1 va générer un codeur/décodeur pour convertir les données binaires en un objet Java décodé. Vous pouvez trouver une excellente liste de compilateurs ASN.1/Java au http://www.itu.int/en/ITU-T/asn1/Pages/Tools.aspx (certains gratuits, certains commerciaux).

+0

Donc, pour plus d'undrestand ce que je vais faire: d'abord je devrais inclure un compilateur ASN1 à mon projet java ce compilateur prendra en charge le décodage des messages entrants? – jiji

+0

Le compilateur ASN.1 génère le code Java que vous incluez dans votre projet pour décoder les messages entrants. –