Zerlegen von Binärstrom mit 'struct'
Verfasst: Dienstag 3. März 2015, 19:25
Hallo Zusammen,
ich versuche mit 'struct' einen Struct-Binärstrom zu zerlegen, womit ich früher eigentlich nie Probleme hatte.
Folgende Ausgangssituation.
Binäre Daten:
Typen und Längen:
len(payload) == 31
type(payload) == list
type (payload[0]) == str
Alles Easy soweit wie ich es eigentlich erwarte.
Nun hier mein Struct, mit welchem ich die ursprünlichen Werte zurückbilden möchte:
Also auch 31 Byte, wie oben der Payload.
Nun meckert aber der Befehl:
Irgendwie finde ich den Fehler nicht, wohl liegt es an der Betriebsblindheit.
Die Länge entspricht doch 31 Byte !?
Kann mir jemand auf die Sprünge helfen?
Vielen Dank euch!
Unsinn
ich versuche mit 'struct' einen Struct-Binärstrom zu zerlegen, womit ich früher eigentlich nie Probleme hatte.
Folgende Ausgangssituation.
Binäre Daten:
Code: Alles auswählen
payload = ['v', '\xd6', '\x06', '\x00', '\x00', ' ', '\x00', '\x00', '\x03', 'C', '\x01', '\x8d', '\xfc', '\x9f', '\x02', 'r', '\x00', 'u', '\x10', '\xcf', '\x12', '[', '\x13', '\x00', '\x16', '\xff', '\xbc', '\xb5', 'f', 'z', '\x03']
len(payload) == 31
type(payload) == list
type (payload[0]) == str
Alles Easy soweit wie ich es eigentlich erwarte.
Nun hier mein Struct, mit welchem ich die ursprünlichen Werte zurückbilden möchte:
Code: Alles auswählen
[a, b, c, d, e, f, g, h, i, j, k, l, m, n] = struct.unpack('=I H f b hhh hhh hhh h', payload)
Nun meckert aber der Befehl:
Code: Alles auswählen
struct.error: unpack requires a string argument of length 31
Die Länge entspricht doch 31 Byte !?
Kann mir jemand auf die Sprünge helfen?
Vielen Dank euch!
Unsinn