GSM モデムから取得した PDU テキストを C# でデコードしたいのですが、GSMCommまたはPduBitPackerでデコードするにはどうすればよいですか?
コードで答えてください
タイ
(PS 私はテキストをエンコードしており、モデムから取得する必要はありません)
プロジェクトに PDUConverter.dll を必ず含めてください。
IncomingSmsPdu sms = IncomingSmsPdu.Decode("0791893905004100640C9189398978168400003160915151238110050003110202C26735B94D87DF41", true);
Console.WriteLine(sms.UserDataText);
Decode の最初の引数は、最後にヘッダーを含む RAW PDU 文字列です。2 番目の引数は、ヘッダーが存在することをデコーダーに伝えるフラグです。
UserDataText の内部には、SMS テキストがあります。
冒頭に奇妙な文字が表示される場合、それは「スマート メッセージ」、つまり、1 つの大きなメッセージに連結する必要があるマルチパート SMS があるためです。これは、Nokia によって考案されたトリックです。
このスマート メッセージングに対処したい場合は、クラスGsmComm.PduConverter.SmartMessaging.SmartMessageDecoderが役立ちます。