В чем разница между двоичным файлом и файлом .exe? [закрыто]

13

Кто-нибудь может различить разницу между двоичным файлом и файлом .exe?

user2720323
источник
«Двоичный файл» требует дополнительной квалификации / контекста, так как имеет несколько значений.
Игнасио Васкес-Абрамс
1
Цель этого вопроса - прояснить двоичные и исполняемые файлы или разницу между расширениями.bin и .exe именами файлов ?
10
1
Вопрос просто в порядке. Они говорят о разговорном использовании слова «бинарный». Если слово «бинарный» является неоднозначным, тогда ответ должен быть более полным. Смотрите принятый ответ.
user391339

Ответы:

29

Бинарный файл - это почти все, что не является простым текстом , то есть содержит данные, закодированные любым другим способом, нежели кодирование текста (ASCII, UTF-8 или любое другое кодирование текста, например, ISO-8859-2). Текстовый файл может быть открытым текстом, таким как рассказ или письмо, это может быть файл конфигурации или файл данных - в любом случае, если вы используете текстовый редактор, чтобы открыть его, содержимое может быть прочитано. Двоичный файл - это любой файл, который не является текстовым файлом (ни «специальным», как fifo, каталог, устройство и т. Д.)

Это может быть музыка в формате mp3. Это может быть изображение JPG. Это может быть сжатый архив или даже документ текстового процессора - хотя для практических целей это текст, он кодируется (записывается на диск) как двоичный файл. Вам нужна определенная программа, чтобы открыть ее, чтобы иметь смысл - для текстового редактора содержимое - беспорядок.

Теперь в Linux вы часто слышите «двоичные файлы» при обращении к «двоичным исполняемым файлам» - программам. Это связано с тем, что в то время как источники большинства программ (написанные на языках высокого уровня) представляют собой простой текст, скомпилированные исполняемые файлы являются двоичными. Поскольку существует довольно много скомпилированных форматов (a.out, ELF, bytecode ...), их обычно называют двоичными файлами, вместо того, чтобы останавливаться на том, какая у них внутренняя структура - с точки зрения пользователя они практически одинаковы.

Теперь .exe - это просто еще один из этих скомпилированных форматов - один из общих для MS Windows. Это просто своего рода двоичные файлы, скомпилированные и связанные с Windows API.

Научная фантастика
источник
2

Пакетные файлы - это просто текстовые файлы или небольшие скрипты, которые могут выполняться процессором командной строки - «cmd.exe», они широко используются в среде DOS для автоматизации общих задач.

EXE-файлы отличаются от BAT-файлов, поскольку они содержат исполняемые двоичные данные, а не текстовые команды. Они хранятся в формате Portable Executable (PE). Формат файла EXE включает в себя различные заголовки и разделы, которые сообщают Windows, как запустить программу. Некоторые части файла EXE могут содержать программный код, в то время как другие могут содержать данные о ресурсах.

David_DD
источник
0

В целом можно сказать, что нет никакой разницы: в MS Windows OS исполняемые файлы имеют имена *.exe, но в * nix-подобных ОС исполняемые файлы могут быть названы как угодно и называться «двоичными файлами».

Но это не значит, что каждый двоичный файл является исполняемым (например *.exe): двоичные файлы могут быть просто хранилищем информации. Например, файлы базы данных (такие как файлы MyISAM или InnoDB для баз данных MySQL) также являются двоичными файлами (но не исполняемыми).

AntonioK
источник