Я работаю над разработкой функции контрольной суммы, в которой 4 байта преобразуются в строку символов в шестнадцатеричном формате (например, '00ABCDEF'), перечисленную ниже:
packet = "004100ff"
checksum = 0
for el in packet:
checksum ^= ord(el)
print (hex(checksum))
В настоящее время единственный способ получитьправильная контрольная сумма (0xbe) заключается в том, чтобы вручную переписать строку как package = '\ x00 \ x41 \ x00 \ xff', что не может быть выполнено автоматически.
Как я могу заставить Python интерпретировать строку, как если бы каждый2 символа были шестнадцатеричными байтами для выполнения контрольной суммы?