2
我想解碼在C#中從GSM調制解調器獲取的PDU文本,我怎樣才能解碼它與GSMComm或PduBitPacker?如何使用GSMComm或PduBitPacker解碼PDU?
請回答我一個代碼
TY
(PS我已編碼的文本,我不需要從現代得到它)
我想解碼在C#中從GSM調制解調器獲取的PDU文本,我怎樣才能解碼它與GSMComm或PduBitPacker?如何使用GSMComm或PduBitPacker解碼PDU?
請回答我一個代碼
TY
(PS我已編碼的文本,我不需要從現代得到它)
請務必包括PDUConverter.dll在您的項目。
IncomingSmsPdu sms = IncomingSmsPdu.Decode("0791893905004100640C9189398978168400003160915151238110050003110202C26735B94D87DF41", true);
Console.WriteLine(sms.UserDataText);
解碼的第一個參數是您的RAW PDU串包括在所述報頭端,第二個參數是告訴解碼器,一個標頭存在的標誌。
在UserDataText內部,您可以找到SMS文本。
如果您在開始時看到陌生字符,那是因爲您有一個「智能消息」,即多部分短信應該連接成一個大消息,這是諾基亞發明的一個技巧。
該類別GsmComm.PduConverter.SmartMessaging.SmartMessageDecoder可能是如果你想處理這個聰明的消息事情的幫助。
閱讀兩者的文檔。在GSMComm的常見問題解答中,它會告訴您如何接收原始PDU,並在PduBitPacker的文檔中說明如何使用它來解壓PDU。 PduBitPacker似乎只適用於GSM 7位字母表,所以如果你想使用不能用7位字母表發送的語言,你必須適應它。 –
我測試過_PduBitPacker_,但解壓後的字符串與短信不同。 – Alireza
@SList我不明白你對GSMComm的看法。我用我的數據創建了一個ShortMessageFromPhone對象,但是如何將它轉換爲DecodedShortMessage? – Alireza