Moin;
interessant wirds, wie schon gesagt, beim Transport:
uint32_t v = 1146244951;
float f = 841.239685058594;
fwrite( (char*)&v, sizeof v, 1, stdout); // WORD
fwrite( (char*)&f, sizeof f, 1, stdout); // WORD
also wenn Zahlen den Hauptspeicher verlassen in Richtung Dateien, Sockets, stdout, USB.. Entscheidend ist, daß die Sequenzen stets dieselben sind insbesondere die byteLength. Dann sind die Daten portable und plattformübergreifend wiederherstellbar (maschinenlesbar).
Gleichermaßen wird auch der Transportlayer transparent. Auch in Sachen Strings gibt es Möglichkeiten, z.B. ein Auffüllen (padding) mit Nullbytes womit diese Strings auch gleich terminiert sind. Oder, bei variabler Länge, die byteLength eines Strings wird vor dem String mit 1, 2, oder 4 Bytes kodiert. Also wenn diese 4 Bytes WORD
lauten heißt das, daß für den sich daran anschließenden String genau 1146244951 Bytes zu lesen sind.
byteLength+String
sind ein sog. Tupel.
MfG