Вот вам простой пример, 4 значения в памяти -- одно двойное слово, три числа с плавающей точкой двойной точности, и их текстовое (произвольное) и двоичное представление:
- Код: Выделить всё
- type
 PSomeRec = ^TSomeRec;
 TSomeRec = record
 id: longword;
 x, y, z: double;
 end;
 
 procedure DumpSomeRec(const R: TSomeRec);
 begin
 with R do WriteLn('SR{ID=', id, ';', x, ',', y, ',', z, '}');
 end;
 
 procedure DumpHex(var V; Size: word);
 const
 HD: array [0..$F] of char = '0123456789ABCDEF';
 var
 M: array [0..65535] of byte absolute V;
 i: word;
 begin
 for i := 0 to Size-1 do begin
 Write(' ', HD[M[i] shr 4], HD[M[i] and $F]);
 if (i+1) and $F = 0 then WriteLn;
 end;
 end;
 
 var
 r: TSomeRec;
 
 begin
 with r do begin
 id := $12345678;
 x := 2.5; y := 3.8; z := -7.4;
 end;
 DumpSomeRec(r);
 DumpHex(r, sizeof(r));
 end.
 
Прогон:
- Код: Выделить всё
- SR{ID=305419896; 2.50000000000000E+000, 3.80000000000000E+000,-7.40000000000000E+000}
 78 56 34 12 00 00 00 00 00 00 00 00 00 00 04 40
 66 66 66 66 66 66 0E 40 9A 99 99 99 99 99 1D C0
 
Вы при чтении получаете двоичное представление. Чтобы получить адекватное текстовое, достаточно знать размеры данных и правила их интерпретации (да, это называется типы), а для многобайтных значений -- ещё и порядок байт (от старшего к младшему или от младшего к старшему), грубо говоря прочитать в переменную соответствующего типа или преобразовать адрес в памяти к указателю на соответствующий тип и разыменовать его, например: with PSomeRec(Data)^ do WriteLn(id, x, y, z);
Расшифровка полей:
- Код: Выделить всё
- 78 56 34 12 00 00 00 00 00 00 00 00 00 00 04 40
 ^---(1)---^ ^---(2)---^ ^---------(3)---------^
 66 66 66 66 66 66 0E 40 9A 99 99 99 99 99 1D C0
 ^---------(4)---------^ ^---------(5)---------^
 
1 - число 305419896 в 10-чной системе счисления, оно же 12345678 в 16-ричной, 
2 - "дырка" -- выравнивание на границу 8 байт, 
3 - x: 2.5 с двойной точностью (8 байт), 
4 - y: 3.8 с двойной точностью, 
5 - z: -7.4 с двойной точностью.
Если бы запись была объявлена как "packed record", её представление в памяти было бы таким:
- Код: Выделить всё
- 78 56 34 12 00 00 00 00 00 00 04 40 66 66 66 66
 ^---(1)---^ ^---------(3)---------^ ^-----(4...
 66 66 0E 40 9A 99 99 99 99 99 1D C0
 ...4)-----^ ^---------(5)---------^