バイナリファイルと.exeファイルの違いは何ですか?[閉まっている]


13

誰かがバイナリファイルと.exeファイルの違いを区別できますか?


「バイナリファイル」には複数の意味があるため、さらに修飾/コンテキストが必要です。
Ignacio Vazquez-Abrams

1
明確にするために、この質問の目的であるバイナリ実行可能ファイル、またはの違い.bin.exe ファイル名の拡張子を
l0b0 2013年

1
質問は結構です。彼らは、バイナリという言葉の口語的な使用について話している。バイナリという単語があいまいな場合、答えはより包括的であるべきです。受け入れられた回答を参照してください。
user391339

回答:


29

バイナリファイルは、プレーンテキストではないほとんどすべてのものです。つまり、テキストエンコーディング(ASCII、UTF-8、またはISO-8859-2などの他のテキストエンコーディング)とは異なる方法でエンコードされたデータが含まれます。テキストファイルは、ストーリーや手紙などのプレーンテキストドキュメントの場合もあれば、構成ファイルやデータファイルの場合もあります。とにかく、プレーンテキストエディターを使用して開いた場合、内容は読み取り可能です。バイナリは、テキストファイルではない任意のファイルです(fifo、ディレクトリ、デバイスなどの「特別な」ファイルでもありません)。

それはmp3音楽かもしれません。jpg画像の可能性があります。それは圧縮されたアーカイブでも、ワードプロセッサドキュメントでもかまいません。実際の目的ではテキストですが、バイナリとしてエンコード(ディスクに書き込まれる)されます。それを理解するには、それを開くための特定のプログラムが必要です。テキストエディターの場合、内容はごちゃごちゃした混乱です。

Linuxでは、「バイナリ実行可能ファイル」、つまりプログラムについて言及するときに、「バイナリ」と聞こえることがよくあります。これは、ほとんどのプログラム(高水準言語で記述されたプログラム)のソースはプレーンテキストですが、コンパイルされた実行可能ファイルはバイナリであるためです。かなりの数のコンパイル済みフォーマット(a.out、ELF、バイトコード...)があるため、それらは通常、内部構造にこだわるのではなく、バイナリーと呼ばれます-ユーザーの観点から、それらはほとんど同じです。

現在、.exeはこれらのコンパイルされた形式の1つにすぎません-1つはMS Windowsに共通です。これは、Windows APIに対してコンパイルおよびリンクされた、一種のバイナリです。


2

バッチファイルは、実際には単なるテキストファイル、またはコマンドラインプロセッサ「cmd.exe」で実行できる小さなスクリプトであり、一般的なタスクの自動化のためにDOS環境で広く使用されています。

EXEファイルは、プレーンテキストコマンドではなく実行可能なバイナリデータを含んでいるため、BATファイルとは異なります。それらは、Portable Executable(PE)形式で保存されます。EXEファイル形式には、Windowsにプログラムの実行方法を指示するさまざまなヘッダーとセクションが含まれています。EXEファイルの一部にはプログラムコードが含まれ、その他の部分にはリソースデータが含まれる場合があります。


0

一般に、違いはないと言えます*.exe。MSWindows OSの実行可能ファイルには名前がありますが、* nixのようなOSでは、実行可能ファイルには好きな名前を付けることができ、「バイナリファイル」と呼ばれます。

ただし、すべてのバイナリファイルが(など*.exe)実行可能であることを意味するわけではありません。バイナリは、一種の情報ストレージにすぎません。たとえば、データベースファイル(MySQLデータベースのMyISAMまたはInnoDBファイルなど)もバイナリファイルです(ただし、実行可能ではありません)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.