[Python] struct unpack di un intero

Marco De Paoli depaolim a gmail.com
Gio 21 Ott 2021 11:12:38 CEST


ciao a tutti!
ho un problema con struct.unpack e non capisco cosa sto sbagliando...

>>> struct.unpack("i", b'\x03\x00\x00\x00')  # OK!
(3,)
>>> struct.unpack("ih", b'\x03\x00\x00\x00\x04\x00')  # OK!
(3, 4)
>>> struct.unpack("ihi", b'\x03\x00\x00\x00\x04\x00\x00\x00\x04\x00')  #
ARGHHH
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
struct.error: unpack requires a buffer of 12 bytes

Perché mai se ne aspetta 12? Dovrebbero bastare i 10 che ci sono nel buffer!

Mi aspettavo:
>>> struct.unpack("ihi", b'\x03\x00\x00\x00\x04\x00\x00\x00\x04\x00')
(3, 4, 4)

Cosa sto sbagliando?

Marco
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20211021/96ccc904/attachment.html>


Maggiori informazioni sulla lista Python