Цитата(Павел_Б @ Oct 24 2013, 20:15)

Здравствуйте.
Знаю что вопрос обсуждался уже тысячу раз но не могу найти ответ

Есть 2 устройства А и Б.
Устройство А передаёт СМС устройству Б в PDU с кодированием данных в 7-ми битном виде.
Устройство Б получает СМС в виде: 07919720740800F1240B919721954856F2
0000909020914412020431D98C06
Вопрос - именно устройство А задаёт в каком виде будут зашифрованы данные.
Т.е. по приходу новой СМС устройсту Б нужно сперва определиться в каком виде находятся данные а уже после этого расшифровывать их определённым образом.
Правильно? Именно устройство А определяет как закодированы данные. Так?
Так. Именно A определяет. Хотя, допускаю, могут быть и странности в середине процесса, вплоть до вставки рекламы в SMS и т.п. И трудности с прохождением SMS с нетиповыми форматами. А также трудности с их интерпретацией на приёмной стороне (см. ниже).
Цитата
Если так, тогда логичен следующий вопрос - устройство А на SIM900. Какой командой ему "сказать" чтобы он например кодировал данные в 8-ми битном формате?
А зачем именно в 8-битном? Под 8-битным понимается, обычно, "бинарные" SMS. Которые модем во-первых может интерпретировать по-своему (оно нужно для ряда странных вещей вроде приложений в SIM-карте). А самое главное, во-вторых, непонятно как их потом передать от модема с контроллеру. Символы с кодами 0x80..0xff и 0x00..0x1f будут вызывать традиционные проблемы. Потому, видимо, такого извращения и нет.
Цитата
Т.е. чтобы при чтении СМС у устройства Б была строка в виде: 07919720740800F1240B919721954856F20004909020914412020431323334
Принимать в 7-битном виде и не морочить мозг. Даже если действительно нужна передача бинарных данных: они достаточно эффективно передаются в base64 в 7-битной кодировке (на передачу 6 бит данных нужно 7 бит в SMS). Единственная закавыка тут: кодировка многосегментных 7-битных SMS -- мозг сломаешь.