誰かがバイナリファイルと.exeファイルの違いを区別できますか?
誰かがバイナリファイルと.exeファイルの違いを区別できますか?
回答:
バイナリファイルは、プレーンテキストではないほとんどすべてのものです。つまり、テキストエンコーディング(ASCII、UTF-8、またはISO-8859-2などの他のテキストエンコーディング)とは異なる方法でエンコードされたデータが含まれます。テキストファイルは、ストーリーや手紙などのプレーンテキストドキュメントの場合もあれば、構成ファイルやデータファイルの場合もあります。とにかく、プレーンテキストエディターを使用して開いた場合、内容は読み取り可能です。バイナリは、テキストファイルではない任意のファイルです(fifo、ディレクトリ、デバイスなどの「特別な」ファイルでもありません)。
それはmp3音楽かもしれません。jpg画像の可能性があります。それは圧縮されたアーカイブでも、ワードプロセッサドキュメントでもかまいません。実際の目的ではテキストですが、バイナリとしてエンコード(ディスクに書き込まれる)されます。それを理解するには、それを開くための特定のプログラムが必要です。テキストエディターの場合、内容はごちゃごちゃした混乱です。
Linuxでは、「バイナリ実行可能ファイル」、つまりプログラムについて言及するときに、「バイナリ」と聞こえることがよくあります。これは、ほとんどのプログラム(高水準言語で記述されたプログラム)のソースはプレーンテキストですが、コンパイルされた実行可能ファイルはバイナリであるためです。かなりの数のコンパイル済みフォーマット(a.out、ELF、バイトコード...)があるため、それらは通常、内部構造にこだわるのではなく、バイナリーと呼ばれます-ユーザーの観点から、それらはほとんど同じです。
現在、.exeはこれらのコンパイルされた形式の1つにすぎません-1つはMS Windowsに共通です。これは、Windows APIに対してコンパイルおよびリンクされた、一種のバイナリです。
バッチファイルは、実際には単なるテキストファイル、またはコマンドラインプロセッサ「cmd.exe」で実行できる小さなスクリプトであり、一般的なタスクの自動化のためにDOS環境で広く使用されています。
EXEファイルは、プレーンテキストコマンドではなく実行可能なバイナリデータを含んでいるため、BATファイルとは異なります。それらは、Portable Executable(PE)形式で保存されます。EXEファイル形式には、Windowsにプログラムの実行方法を指示するさまざまなヘッダーとセクションが含まれています。EXEファイルの一部にはプログラムコードが含まれ、その他の部分にはリソースデータが含まれる場合があります。