Я новичок в программировании python и столкнулся с некоторыми проблемами с форматированием извлеченного 32-битного CR C из файла. Я хочу, чтобы CR C хранился в другом файле, где формат хранения должен быть 0x2 C, 0x9F, 0x0D, 0xE0
, когда я запускаю этот код ниже, я получаю вывод хранится в ApplicationData1.cr c как 0x2 c, 0x9f, 0xd, 0xe08, а также третий байт - 0xd, который должен быть 0x0D , а четвертый байт - 0xe08, который должен быть 0xE0 , может кто-нибудь сказать мне, что я делаю не так или что можно попробовать?
Когда я запускаю код, он проходит две итерации и выводит целочисленные значения, как показано ниже:
a4, a3, a2, a1, checksum:
88, 149, 192, 178, 2998965592
224, 13, 159, 44, 748621280
import zlib
def crc32(filename="C:\\Users\\Desktop\\ApplicationData.bin", chunksize=65536):
with open(filename, "rb") as f1:
checksum = 0
while (chunk := f1.read(chunksize)) :
checksum = zlib.crc32(chunk, checksum)
file = open('ApplicationData1.crc', "w")
print(hex(checksum))
checksum_hex=hex(checksum)
a4 = (checksum & 0xff)
a3 = (checksum >> 8) & 0xff
a2 = (checksum >> 16) & 0xff
a1 = checksum >> 24
print(hex(a3))
file.write('%s , %s, %s, %s' % (hex(a1), hex(a2), hex(a3), hex(a4)))
crc32()