2011-08-26 81 views
2

我想接收每個編碼的asn.1消息對齊並將其解碼爲asn.1值表示法。有沒有可用的工具? Erlang支持編碼和解碼,並從文件中讀取數值符號,但解碼只會產生erlang,而不是數值符號。如何將asn.1 erlang表示法轉換爲asn.1值表示法

'S1AP':decode('S1AP-PDU', [32,17,0,23,0,0,2,0,105,0,11,0,0,98,242,33,0,0,195,92,0,51,0,87,64,1,25]). 

{ok,{successfulOutcome,{'SuccessfulOutcome',17,reject,{'S1SetupResponse',[{'ProtocolIE-Field',105,reject,[{'ServedGUMMEIsItem',["bò!"],["Ã\\"],["3"],asn1_NOVALUE}]},{'ProtocolIE-Field',87,ignore,25}]}}}} 

如何繼續上面的代碼。我想獲得像這裏http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One#Example或低於PDU(從維基網站所)

myQuestion FooQuestion ::= { 
trackingNumber  5, 
question   "Anybody there?" 
} 
+0

你能否澄清一下你的問題,也許增加一個例子會是什麼樣的預期結果。 –

回答

0

您需要包括含有記錄定義爲您的ASN協議數據自動生成HRL文件。它們必須與asn1源文件夾或../include位於同一個文件夾中。之後,您將能夠使用記錄語法myQuestion#'FooQuestion'{trackingNumber=TrackingNumber, question=Question}來模式匹配數據。

+1

我認爲kontulai正在問如何將解碼後的asn.1 erlang元組轉換爲更具人類可讀性的asn.1值表示法,最有可能用於記錄目的。 – Exponent

+0

是的,這就是爲什麼他需要記錄爲他們寫漂亮的打印機。 –

+0

@Exponent正確。 – kontulai