Was ist der Unterschied zwischen Binärdatei und EXE-Datei? [geschlossen]

13

Kann jemand den Unterschied zwischen Binärdatei und EXE-Datei unterscheiden?

user2720323
quelle
"Binärdatei" erfordert eine weitere Qualifizierung / einen weiteren Kontext, da es mehrere Bedeutungen hat.
Ignacio Vazquez-Abrams
1
Ist der Zweck dieser Frage die Klärung von binären und ausführbaren Dateien oder der Unterschied zwischen der .binund der .exe Dateinamenerweiterung ?
10b0
1
Die Frage ist in Ordnung. Sie sprechen über die umgangssprachliche Verwendung des Wortes binär. Wenn das Wort binär nicht eindeutig ist, sollte die Antwort umfassender sein. Siehe akzeptierte Antwort.
user391339

Antworten:

29

Binärdatei ist so ziemlich alles, was kein einfacher Text ist, dh Daten enthält, die anders als die Textcodierung (ASCII, UTF-8 oder eine andere Textcodierung, z. B. ISO-8859-2) codiert sind. Eine Textdatei kann ein Klartextdokument sein, wie eine Geschichte oder ein Brief, eine Konfigurationsdatei oder eine Datendatei. Wenn Sie sie zum Öffnen mit einem Klartexteditor öffnen, ist der Inhalt lesbar. Eine Binärdatei ist eine Datei, die keine Textdatei ist (noch "speziell" wie FIFO, Verzeichnis, Gerät usw.).

Das kann eine MP3-Musik sein. Das kann ein JPG-Bild sein. Dies kann ein komprimiertes Archiv oder sogar ein Textverarbeitungsdokument sein - während es aus praktischen Gründen Text ist, wird es als Binärdatei codiert (auf die Festplatte geschrieben). Sie benötigen ein bestimmtes Programm, um es zu öffnen, um es zu verstehen - für einen Texteditor ist der Inhalt ein Durcheinander.

Unter Linux hören Sie häufig "Binärdateien", wenn Sie auf "ausführbare Binärdateien" - Programme verweisen. Dies liegt daran, dass die Quellen der meisten Programme (in Hochsprachen geschrieben) Klartext sind, kompilierte ausführbare Dateien jedoch binär. Da es einige kompilierte Formate gibt (a.out, ELF, Bytecode ...), werden sie üblicherweise als Binärdateien bezeichnet, anstatt sich mit ihrer internen Struktur zu befassen - aus Sicht des Benutzers sind sie ziemlich gleich.

Jetzt ist .exe nur ein weiteres dieser kompilierten Formate - eines, das MS Windows gemeinsam hat. Es ist nur eine Art Binärdatei, die kompiliert und mit der Windows-API verknüpft ist.

SF.
quelle
2

Batch-Dateien sind eigentlich nur Textdateien oder kleine Skripte, die vom Befehlszeilenprozessor "cmd.exe" ausgeführt werden können. Sie werden in der DOS-Umgebung häufig zur Automatisierung allgemeiner Aufgaben verwendet.

EXE-Dateien unterscheiden sich von BAT-Dateien, da sie ausführbare Binärdaten anstelle von Nur-Text-Befehlen enthalten. Sie werden im PE-Format (Portable Executable) gespeichert. Das EXE-Dateiformat enthält verschiedene Header und Abschnitte, die Windows mitteilen, wie ein Programm ausgeführt wird. Einige Teile einer EXE-Datei können Programmcode enthalten, während andere Ressourcendaten enthalten können.

David_DD
quelle
0

Generell kann gesagt werden, dass es keinen Unterschied gibt: In MS Windows OS haben ausführbare Dateien Namen *.exe, aber in * nix-ähnlichen Betriebssystemen können ausführbare Dateien beliebig benannt werden und werden als "Binärdateien" bezeichnet.

Dies bedeutet jedoch nicht, dass jede Binärdatei ausführbar ist (wie *.exe): Binärdateien können nur eine Art Informationsspeicher sein. Beispielsweise sind Datenbankdateien (wie MyISAM- oder InnoDB-Dateien für MySQL-Datenbanken) ebenfalls Binärdateien (jedoch nicht ausführbar).

AntonioK
quelle