誰もがバイナリファイルと.exeファイルの違いを知ることができますか?
答え1
バイナリファイルそうでないほとんどすべてプレーンテキストつまり、テキストエンコード(ASCII、UTF-8、ISO-8859-2などの他のテキストエンコード)とは異なる方法でエンコードされたデータが含まれます。テキストファイルは、ストーリーや手紙、構成ファイル、データファイルなどのプレーンテキスト文書です。これに関係なく、プレーンテキストエディタでコンテンツを開くと、コンテンツを読むことができます。バイナリファイルは、テキストファイル(fifo、ディレクトリ、デバイスなどの「特殊」ファイルではない)ではないすべてのファイルです。
それはmp3音楽かもしれません。 jpg画像かもしれません。これは圧縮アーカイブでも、ワードプロセッシング文書でもかまいません。実用的な目的ではテキストですが、コード化(ディスクに記録)バイナリとして。それを理解するには、特定のプログラムが必要です。テキストエディタでは内容がめちゃくちゃです。
Linuxでは、「バイナリ実行可能ファイル」(プログラム)に言及すると、「バイナリファイル」という言葉がよく聞こえます。これは、ほとんどのプログラムのソースコード(高度な言語で書かれている)がプレーンテキストであるのに対して、コンパイルされた実行可能ファイルはバイナリであるためです。コンパイルされた形式(a.out、ELF、バイトコード...)がかなり多いため、しばしば呼び出されます。バイナリファイルユーザーの観点から見ると、内部にぶら下がるのではなく、ほぼ同じです。
.exeは、MS Windowsで一般的に見られる別のコンパイル形式です。これはWindows API用にコンパイルされリンクされたバイナリです。
答え2
バッチファイルは、コマンドラインプロセッサ "cmd.exe"で実際に実行できるテキストファイルまたは小さなスクリプトであり、DOS環境で一般的なタスクを自動化するために広く使用されています。
EXEファイルは、プレーンテキストコマンドではなく実行可能なバイナリデータを含むという点で、BATファイルとは異なります。 PE(Portable Executable)形式で保存されます。 EXEファイル形式には、Windowsにプログラムの実行方法を示すさまざまなヘッダーとセクションが含まれています。 EXEファイルの一部にはプログラムコードを含め、他の部分にはリソースデータを含めることができます。
答え3
一般的に違いはないと言えます。 MS Windowsオペレーティングシステムでは実行可能ファイルに名前がありますが、*.exe
* nixシリーズオペレーティングシステムでは実行可能ファイルに任意に名前を付けることができ、「バイナリファイル」と呼ばれます。
しかし、これはすべてのバイナリが実行可能であることを意味するわけではありません(例*.exe
:)。バイナリは単にインフォメーションストアです。たとえば、データベースファイル(MySQLデータベース用のMyISAMまたはInnoDBファイルなど)もバイナリファイルですが、実行可能ではありません。