Byte-Struktur
– Formatvariablen definieren definieren Datenstruktur
– Formatvariablen stehen in einem String
– für jede Formatvariable muss eine Variable mitgegeben werden
– folgen grosse Datenpakete als, muss deren Länge
. bekannt sein und wird vor der Stringvariable eingefügt
– “ > “ bedeutet big endian, “ < “ littel endian
command = pack(‚ >BH‘ + str(length) + ’s ‚, typ, command, length, data)
Vor Daten Schlüsselwörter einfügen
data = pack(‚ >BBH’+str(length)+’s ‚, testnumber, time, command, length, data)
Schlüsselwörter vor Data extrahieren
testnumber = unpack(‚>B‘, data[0:1])
time = unpack(‚>B‘, data[1:2])
Daten ohne Schlüsselwörter
data[:4] die ersten 4 Bytes werden weggelassen
Big Endian / Littel Endian
big endian = normal a = (‚>B‘, 3) output a = 00 03
little endian a = (‚<B‘, 3) output a = 03 00
Info
In Python werden Daten als String übergeben. Sollen diese eine bestimmte Byte-Struktur haben, helfen die Funktionen pack() and unpack().
import struct *