Wie kann ich 3 Bytes als ganze Zahl lesen?
Liefert struct-Modul so etwas?
Ich kann in 3 Bytes lesen und ein zusätzliches \ x00 hinzufügen und dann als 4-Byte-Integer interpretieren, aber das scheint unnötig.
Das Strukturmodul hat keine Option für 3-Byte-Ganzzahlen, daher denke ich, dass Ihre Idee, '\ x00' anzuhängen, der einfachste Weg ist.
Ich glaube, ab 3.2 hat int eine neue Methode .from_bytes entwickelt, so dass Sie anstelle von struct.unpack Folgendes verwenden können:
int
.from_bytes
struct.unpack
Zur Referenz: Ссылка
Eine Alternative für Python 2 und ohne das struct Modul wäre:
struct
wobei die Bytereihenfolge Big-Endian ist. Dies ergibt das gleiche Ergebnis wie bei unutbu Antwort:
Für Little-Endian Byte-Reihenfolge wäre die Umwandlung:
Tags und Links python