Я работаю в сценарии, в котором мне нужно вычислить два дополнения определенного шестнадцатеричного значения.
Я взял эту функцию из stackoverflow:
def checksum_calc(s):
sum = 0
for c in s:
sum += ord(c)
sum = -(sum % 256)
return '%2X' % (sum & 0xFF)
, но если я ввел такие данные, как:
string = '\x00\x03\x03\xFF'
, это правильно, но если бы я представил это так:
string = b'\x00\x03\x03\xFF'
Я получаю неверную контрольную сумму.
Не могли бы вы мне с этим помочь?