Вычислить контрольную сумму Python IridiumPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Вычислить контрольную сумму Python Iridium

Сообщение Anonymous »


Я постоянно получаю неправильную контрольную сумму, к сожалению, я не знаю, как узнать, какую контрольную сумму Iridium рассчитала для моего сообщения. Я хочу вычислить контрольную сумму 123 (которая мне нужна в шестнадцатеричном формате, то есть 7b для моей текущей функции). Я думаю, что, возможно, контрольная сумма, которую я вычисляю с помощью своего кода, не совпадает с той, которую вычисляет Iridium. Это вся информация, которой я располагаю. Контрольная сумма — это младшие 2 байта суммы всего Сообщение СБД. Старший байт должен быть отправлен первым. Например, если DTE должны были отправить слово «привет», закодированное в ASCII, на двоичный код 9602/3. поток будет шестнадцатеричным: 68 65 6c 6c 6f 02 14.

Любая помощь очень ценится.

Это мой текущий код...
def Calculate_checksum(string): #function ожидает, что данная строка будет в шестнадцатеричном формате. общая_сумма = 0 если len(строка) != 0: byte_list = [int(string[i:i+2], 16) для i в диапазоне (0, len(string), 2)] total_sum = сумма (список_байтов) контрольная сумма = total_sum & 0xFFFF #устанавливает цифры w значение >0xFFFF в ноль (требование) logging.debug('Вычисленная контрольная сумма: ' + str(контрольная сумма)) вернуть контрольную сумму
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»