Hallo,
1 Byte Response Identifier
3 Byte IO24 Serial
4 Byte Sender IP
6 Byte Sender MAC
2 Byte Sender Port
Als Ergebnis erhält man dann:
'%\x02\x01\x8e\xc0\xa8\x00\n\x00\x11\xd8j\x9eR\x80;'
Meine Frage ist nun, wie dieser String genau codiert ist.
steht doch ausführlich oben drüber.
1 Byte Response Identifier 0x25 = '%'
3 Byte IO24 Serial 0x02, 0x01, 0x8E = 00000010, 00000001, 10001110 binär
4 Byte Sender IP 192.168.0.10
6 Byte Sender MAC 00 11 D8 6A 9E 52
2 Byte Sender Port 15232 (0x3B80) oder 32827 (0x803B)
Bei der Portnummer ist nicht ganz klar, ob LSB zuerst übertragen wird (Intel-Format) oder das MSB (Motorola). Deswegen sind da zwei Interpretationen möglich.
Man kann ihn wohl mit dem struct-Modul zerlegen, doch wie genau mache ich das? Und was macht das struct Modul in diesem Falle eigentlich genau?
Ich kenne Python nicht, und das struct-Modul noch weniger. Aber eigentlich brauchst du doch nur auf die einzelnen Bytes des Strings zuzugreifen.
So long,
Martin
Ist die Katze gesund,
freut sich der Hund.