Es kommt immer auf die Interpretation der Daten an.
Beispiel:
Ein Texteditor zeigt für eine Datei folgendes an
Preisfrage: Welche Zahl ist dort in der Datei gespeichert?
Antwort: 3276852 (Integer)
Warum nicht 42?
Die Datei beinhaltet folgende Bytes
Mit einem Texteditor werden diese Bytes
interpretiert als Text (UTF-8 ohne BOM) und dadurch als 42 angezeigt.
Mein Programm hat aber den Integer-Wert 3276852 dort gespeichert.
Delphi-Quellcode:
program WriteData;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils, Classes;
var
Stream : TStream;
Data : Integer;
begin
try
Data := 3276852;
Stream := TFileStream.Create( '
test.dat', fmCreate );
try
Stream.WriteData( Data );
finally
Stream.Free;
end;
except
on E :
Exception do
Writeln( E.ClassName, '
: ', E.
Message );
end;
end.
Entweder die Struktur der Datei ist dem Programm komplett bekannt, oder es müssen halt Strukturinformationen mit in die Datei (so wie bei
XML, JSON, etc.). Dann muss das Programm nur noch wissen, um welches Format es sich handelt und kann die restlichen Strukturinformationen dort herauslesen.