<div dir="ltr">Ciao, perche' di default viene rispettato l'allineamento che il dato dovrebbe avere in memoria se fosse una struttura c:<div><br></div><div><a href="https://docs.python.org/3/library/struct.html#struct-alignment">https://docs.python.org/3/library/struct.html#struct-alignment</a><br></div><div><br></div><div>Roberto De Ioris</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno gio 21 ott 2021 alle ore 11:12 Marco De Paoli <<a href="mailto:depaolim@gmail.com">depaolim@gmail.com</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">ciao a tutti!<div>ho un problema con struct.unpack e non capisco cosa sto sbagliando...<br><div><br></div><div>>>> struct.unpack("i", b'\x03\x00\x00\x00')  # OK!<br></div><div><div>(3,)<br>>>> struct.unpack("ih", b'\x03\x00\x00\x00\x04\x00')  # OK!<br>(3, 4)<br>>>> struct.unpack("ihi", b'\x03\x00\x00\x00\x04\x00\x00\x00\x04\x00')  # ARGHHH<br>Traceback (most recent call last):<br>  File "<stdin>", line 1, in <module><br>struct.error: unpack requires a buffer of 12 bytes<br></div></div><div><br></div><div>Perché mai se ne aspetta 12? Dovrebbero bastare i 10 che ci sono nel buffer!</div><div><br></div><div>Mi aspettavo:</div><div>>>> struct.unpack("ihi", b'\x03\x00\x00\x00\x04\x00\x00\x00\x04\x00')<br></div><div>(3, 4, 4)<br></div><div><br></div><div>Cosa sto sbagliando?</div><div><br></div><div>Marco</div></div></div>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailman/listinfo/python</a><br>
</blockquote></div>