Я пытаюсь распаковать список значений из байтов.Я хочу прочитать и распаковать их вместе, но я встречаю эту вещь ...
Когда мы вычисляем размер объединенной строки fmt, мы получаем один результат, если мы вычисляем размер всех частей строки fmt и суммируем их, мы получаем другой результат (ожидаемый результат).
from struct import calcsize
f0 = '3B'
f1 = '2H'
f2 = '1B'
f3 = '4H'
f4 = '2B'
print(calcsize(f0) + calcsize(f1) + calcsize(f2) + calcsize(f3) + calcsize(f4))
# 18 (expected)
print(calcsize(f0 + f1 + f2 + f3 + f4))
# 20 (what?!! o_O)
Может быть, я чего-то не понимаю?