背景は次のとおりです。私は、レンタルした番号で ClickaTell を使用して、着信 SMS テキスト メッセージを受信しています。マルチパート/連結SMSをつなぎ合わせるコードを書いています。これを行うには、「ユーザー データ ヘッダー」または UDH から情報を抽出する必要があります。UDH の形式については、http: //en.wikipedia.org/wiki/Concatenated_SMSで説明しています。
現在、Clickatell は時々次のような UDH を送ってきます。
050003fe0303
これで問題ありません。UDH のように見えます。すべて良い。しかし、ときどき次のような UDH が送られてきます。
303530303033666530333033
これは、上記の最初の例と同じ UDH の代替エンコーディングであることに注意してください。
私がしなければならないことは、これら 2 つのエンコーディングが同等である理由を解明することです。2 番目のエンコーディングは、ほぼ確実に数字のペアで構成されています。そう:
30 = 0
33 = 3
35 = 5
私が理解できないのは、「3」プレフィックスが「6」に変わる理由です。これは「8」に到達した後に発生するようです。私は 66 = f、65 = e、および 63 = c を解決できたので、コードは次のようになると推測しています。
30 = 0
31 = 1
...
38 = 8
60 = 9
61 = a
...
66 = f
誰でもこのエンコーディングを確認できますか? それはあなたが以前に見たことがあるものですか?3 が 6 に変わる理由を知っている人はいますか?
不思議なことにあなたの...