Фон такой: я использую ClickaTell с арендованным номером для получения входящих текстовых сообщений SMS.Я пишу некоторый код, чтобы собрать воедино составные / составные SMS.Для этого мне нужно извлечь информацию из «заголовка пользовательских данных» или UDH.Формат UDH описан здесь: http://en.wikipedia.org/wiki/Concatenated_SMS
Теперь, Clickatell иногда отправляет мне UDH, который выглядит следующим образом:
050003fe0303
И это прекрасно - это похоже на UDH.Все хорошо.Но иногда они посылают мне UDH, который выглядит следующим образом:
303530303033666530333033
Обратите внимание, что это альтернативная кодировка того же UDH, что и в первом примере выше.
Что мне нужно сделать, этовыяснить, почему эти две кодировки эквивалентны.Вторая кодировка почти наверняка состоит из пар чисел.Итак:
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?
С любопытством ...