web-dev-qa-db-ja.com

拡張子を変更するだけでファイルを変換できるのはなぜですか?

異なる拡張子のファイルの名前を変更すると、ほとんどの場合機能しません。ただし、.pngファイルがある場合は、image.pngの名前をimage.jpegまたはimage.gifに変更するだけで、自動的に他の形式に変換されて正常に機能します。これらを行うことを可能にするこれらの形式の間にいくつかの類似性がありますか?私は数年前にこれに気づき、.dviファイルを.pdfファイルに変換しようとしたときに興味を持ちました。名前を変更するだけでうまくいきました!

12
asymptotically

これはおそらく起こることです。あなたが言及したファイルタイプでファイルを開くように指定されたアプリケーションは、それらすべてで同じです。 .gif、.jpg、.png:これらはすべて EOG(GNOMEのEye Of Gnome) によって処理されます。このアプリケーションは拡張子に基づいてファイルの種類を判断するのではなく、むしろ マジックナンバー を探します。

EOGの動作は非常に例外的であり、実際の変換は行われないことに注意してください。 Linuxアプリケーションはファイル拡張子とは異なる検出方法に依存する傾向がありますが、最近のデスクトップの多くは実際にファイル拡張子を探して開くアプリケーションを決定します。

これはすべてUbuntuに当てはまるかもしれませんが、Windowsはまったく別の話です。 Explorerはデフォルトで、ファイル拡張子からファイル拡張子を切り離す動作を実行します。この方法では、「document.pdf」という名前のファイルは「document」として表示され、「document.dvi」に名前を変更すると、実際には「document.dvi.pdf」として処理されます。ウイルスは、ユーザーに.jpgを開いているとユーザーに思わせることで、この「機能」を悪用することがありますが、実際には、悪意のあるexeを実行するようにだまされています!

ファイルタイプを本当に確認するために、fileというコマンドを使用して、詳細なファイル情報を表示します。

私の個人的な経験から、少なくとも私のシステムでは、EOGが名前を変更された画像ファイルを認識するようにだまされることはないことがわかります。あなたは私とは違うことをしているに違いありません。

20
Cumulus007

.pngファイルの名前を.jpegおよび.gifに変更すると、それらのファイルに関連付けられて割り当てられているプログラムが同じであり、開くことができる拡張子が表示されると、単にそれらを開くため、それらはすべて画像ファイルであり、プログラムがそれらを開くことができるからです。

別の回答者が言うように、デフォルトのプログラムはEOG(Eye of Gnome)です。拡張機能を削除しても、開くことができます。

dvipdfに関しては、両方のファイルタイプが同じプログラムによって開かれます。これはevinceと呼ばれます。したがって、同じことがそこで起こります。

9
Anwar