Я пытаюсь понять функцию распаковки в Python и то, как она использует строку формата.
В качестве примера я использую строку формата «I», которая соответствует беззнаковому целому числу (размер, 4 байта).
Согласно документации, функция распаковки примет строку и преобразует ее в список значений на основе строки формата.
http://docs.python.org/2/library/struct.html
Итак, я использовал входное значение как строку «тест», и вот результат:
>>> import struct
>>> input="test"
>>> l = struct.unpack("I", input)[0]
>>> print l
1953719668
Я пытаюсь понять, как выходное значение было получено из ввода.
>>> from struct import *
>>> calcsize('I')
4
размер 'I' составляет 4 байта. строка «тест» имеет 4 символа, что составляет 4 байта. Я попытался преобразовать каждый символ в соответствующее значение Hex ASCII и сохранить его в порядке с прямым порядком байтов, но он не соответствует приведенному выше выводу.
Любая помощь будет оценена по достоинству.