Binärdaten kann man einfach gut in ein array [0..x] Of Char einlesen, weil man dann Teile der Daten über den Index bekommt. Und da der array mit 0 beginnt, kann man ihn auch ohne weiteres als nullterminierten String verwenden (wenn eben ein solcher aus der Datei ausgelesen wurde).
Zu den beiden Funktionen: Diese drehen die Anordung der Bytes um, google einfach mal nach
Big Endian Little Endian, da findest du dann Erklärungen, warum es zwei verschiedene Anordnungen für Bytes, vor allem bei Zahlen, gibt.