Moin!
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.
Danke für die genaue Aufdröselung. Was mir aber nicht ganz klar ist, ist folgendes:
Warum wird der Linefeed (\n) z.B. nicht als \x0A kodiert sondern steht hier als Escape-Sequenz? Das gleiche ist auch bei % oder dem Strichpunkt für mich nicht ganz erklärlich ...
Und was bedeutet das \xd8j bzw. das \x9eR? Das sind doch keine gültigen Hexadezimalzahlen, oder?
Mfg, Heinz