Bytes einlesen

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)

Python_Struct_BefehlsTabelle

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 *