Quelle est la différence entre un fichier binaire et un fichier .exe? [fermé]

13

Quelqu'un peut-il distinguer la différence entre un fichier binaire et un fichier .exe?

user2720323
la source
"Fichier binaire" nécessite une qualification / contexte supplémentaire, car il a plusieurs significations.
Ignacio Vazquez-Abrams
1
Le but de cette question est-il de clarifier les fichiers binaires par rapport aux fichiers exécutables , ou la différence entre les extensions de nom de fichier.bin et ? .exe
l0b0
1
La question est très bien. Ils parlent de l'utilisation familière du mot binaire. Si le mot binaire est ambigu, la réponse devrait être plus complète. Voir la réponse acceptée.
user391339

Réponses:

29

Le fichier binaire est à peu près tout ce qui n'est pas du texte brut , c'est-à-dire qui contient des données encodées d'une manière différente de l'encodage de texte (ASCII, UTF-8 ou tout autre encodage de texte, par exemple ISO-8859-2). Un fichier texte peut être un document en texte brut, comme une histoire ou une lettre, il peut s'agir d'un fichier de configuration ou d'un fichier de données - de toute façon, si vous utilisez un éditeur de texte brut pour l'ouvrir, le contenu est lisible. Un binaire est un fichier qui n'est pas un fichier texte (ni "spécial" comme fifo, répertoire, périphérique, etc.)

Cela peut être une musique mp3. Cela peut être une image jpg. Il peut s'agir d'une archive compressée, ou même d'un document de traitement de texte - alors qu'à des fins pratiques, c'est du texte, il est codé (écrit sur le disque) comme binaire. Vous avez besoin d'un programme spécifique pour l'ouvrir, pour le comprendre - pour un éditeur de texte, le contenu est un gâchis.

Maintenant, sous Linux, vous entendrez souvent des «binaires» lorsque vous vous référez à des «fichiers exécutables binaires» - des programmes. En effet, bien que les sources de la plupart des programmes (écrites dans des langages de haut niveau) soient en texte brut, les exécutables compilés sont binaires. Comme il existe de nombreux formats compilés (a.out, ELF, bytecode ...), ils sont communément appelés binaires au lieu de s'attarder sur la structure interne qu'ils ont - du point de vue de l'utilisateur, ils sont à peu près les mêmes.

Maintenant, .exe est juste un autre de ces formats compilés - un commun à MS Windows. C'est juste une sorte de binaires, compilés et liés à l'API Windows.

SF.
la source
2

Les fichiers batch ne sont en fait que des fichiers texte ou de petits scripts qui peuvent être exécutés par le processeur de ligne de commande - "cmd.exe", ils étaient largement utilisés dans l'environnement DOS pour l'automatisation des tâches courantes.

Les fichiers EXE sont différents des fichiers BAT car ils contiennent des données binaires exécutables plutôt que des commandes de texte brut. Ils sont stockés au format Portable Executable (PE). Le format de fichier EXE comprend divers en-têtes et sections qui indiquent à Windows comment exécuter un programme. Certaines parties d'un fichier EXE peuvent contenir du code de programme tandis que d'autres peuvent contenir des données de ressources.

David_DD
la source
0

En général, on peut dire qu'il n'y a pas de différence: dans MS Windows OS, les exécutables ont des noms *.exe, mais dans * nix-like OS, les exécutables peuvent être nommés comme vous voulez et sont appelés "fichiers binaires".

Mais cela ne signifie pas que chaque fichier binaire est exécutable (comme *.exe): les binaires peuvent être juste une sorte de stockage d'informations. Par exemple, les fichiers de base de données (tels que les fichiers MyISAM ou InnoDB pour les bases de données MySQL) sont également des fichiers binaires (mais pas exécutables).

AntonioK
la source