4 Byte in Netzwerkordnung für die Anzahl aller nachfolgender Bytes
1 Byte (feste Länge)
3 Byte (feste Länge)
gefolgt von Name-/Wert-Paaren:
- Name: Länge Name als 2 Byte in Netzwerkordnung, dann die Bytes für den Name selbst
- Wert: Länge Wert als 2 Byte in Netzwerkordnung, dann die Bytes für den Wert selbst
Übrigens wird bei a* nicht mit Nullen aufgefüllt, nur wenn man anstatt * z.B. 10 angibt und als String z.B. nur 5 Bytes, dann sind die restlichen 5 Bytes natürlich irgendwie zu belegen und das ist bei a eben NUL.
So eine Struktur mit Perl zusammenzupacken ist wirklich supereinfach. Der Sinn ist ein Protokoll zur Übertragung einer dynamischen Struktur (Hash-ähnlich) per Socket. Ein Kollege hat das dann in VB machen müssen, da ging die Rechnerei mit den Längen schon los, niederwertiger Teil, höherwertiger Teil, usw. Es kommt in den nächsten Wochen der Moment, wo ein Rechner das mit C machen muß, da wollte ich schon mal wissen, ob es da vielleicht auch eine einfache, mir bisher unbekannte Variante gibt.\n\n
<!--EDIT|steffenw|1088056689-->
$SIG{USER} = sub {love 'Perl' or die};