Jaka jest różnica między plikiem binarnym a plikiem .exe? [Zamknięte]

13

Czy ktoś może odróżnić plik binarny od pliku .exe?

użytkownik2720323
źródło
„Plik binarny” wymaga dalszej kwalifikacji / kontekstu, ponieważ ma wiele znaczeń.
Ignacio Vazquez-Abrams
1
Czy celem tego pytania jest wyjaśnienie plików binarnych vs. plików wykonywalnych czy różnica między rozszerzeniami nazw plików.bin a ? .exe
l0b0
1
Pytanie jest w porządku. Mówią o potocznym użyciu słowa binarnego. Jeśli słowo binarne jest niejednoznaczne, odpowiedź powinna być bardziej wyczerpująca. Zobacz zaakceptowaną odpowiedź.
user391339,

Odpowiedzi:

29

plik binarny to prawie wszystko, co nie jest zwykłym tekstem , tzn. zawiera dane zakodowane w inny sposób niż kodowanie tekstu (ASCII, UTF-8 lub dowolne inne kodowanie tekstu, np. ISO-8859-2). Plik tekstowy może być dokumentem w postaci zwykłego tekstu, takim jak opowieść lub list, może to być plik konfiguracyjny lub plik danych - w każdym razie, jeśli użyjesz zwykłego edytora tekstowego, aby go otworzyć, zawartość będzie czytelna. Plik binarny to każdy plik, który nie jest plikiem tekstowym (ani „specjalnym”, takim jak fifo, katalog, urządzenie itp.)

To może być muzyka mp3. To może być obraz jpg. Może to być skompresowane archiwum lub nawet edytor tekstu - chociaż ze względów praktycznych jest to tekst, jest on kodowany (zapisywany na dysku) jako plik binarny. Potrzebujesz konkretnego programu, aby go otworzyć, aby go zrozumieć - w przypadku edytora tekstu zawartość jest pomieszanym bałaganem.

Teraz w systemie Linux często słyszysz „pliki binarne”, odnosząc się do „binarnych plików wykonywalnych” - programów. Wynika to z faktu, że chociaż źródła większości programów (pisanych w językach wysokiego poziomu) są zwykłym tekstem, skompilowane pliki wykonywalne są binarne. Ponieważ istnieje całkiem sporo skompilowanych formatów (a.out, ELF, bytecode ...), są one powszechnie nazywane binariami, zamiast zastanawiać się nad tym, jaką posiadają wewnętrzną strukturę - z punktu widzenia użytkownika są one prawie takie same.

Teraz .exe to kolejny z tych skompilowanych formatów - jeden wspólny dla MS Windows. To tylko rodzaj plików binarnych, skompilowanych i połączonych z Windows API.

SF.
źródło
2

Pliki wsadowe to tak naprawdę pliki tekstowe lub małe skrypty, które można wykonać za pomocą procesora wiersza poleceń - „cmd.exe”, które są szeroko stosowane w środowisku DOS do automatyzacji typowych zadań.

Pliki EXE różnią się od plików BAT, ponieważ zawierają wykonywalne dane binarne, a nie zwykłe polecenia tekstowe. Są one przechowywane w formacie Portable Executable (PE). Format pliku EXE zawiera różne nagłówki i sekcje, które informują system Windows, jak uruchomić program. Niektóre części pliku EXE mogą zawierać kod programu, podczas gdy inne mogą zawierać dane zasobów.

David_DD
źródło
0

Zasadniczo można powiedzieć, że nie ma różnicy: w MS Windows pliki wykonywalne mają nazwy *.exe, ale w * nixopodobnych systemach operacyjnych można nazywać, jak chcesz i nazywa się „plikami binarnymi”.

Ale to nie znaczy, że każdy plik binarny jest wykonywalny (jak *.exe): pliki binarne mogą być tylko rodzajem przechowalni informacji. Na przykład pliki bazy danych (takie jak MyISAM lub InnoDB dla baz danych MySQL) są również plikami binarnymi (ale nie są wykonywalne).

AntonioK
źródło