LINUX.ORG.RU

python struct непонятки с упаковкой/распаковкой

 


0

1

Здравствуйте коллеги!

import struct
b = struct.pack(f"@bbhbh", 0, 1, 2, 3, 4)

(signed char, signed char, short, signed char, short)

В моем понимании len(b) должен быть 7, а в понимании python - 8.

b’\x00\x01\x02\x00\x03\x00\x04\x00’

Python зачем-то дополняет нолем.

Как убедить python не своевольничать, а кодировать как ему задано?



Последнее исправление: HighMan (всего исправлений: 4)

Ответ на: комментарий от eternal_sorrow

Зачем ты используешь префикс f"", если это не форматная строка?

Это в вышеприведенном примере строка не форматируемая.

В рабочем скрипте она очень даже форматируемая, а копировал я из рабочего скрипта, просто забыл убрать форматирование.

HighMan
() автор топика