Windowsにおける拡張子の役割


拡張子ありますね、.txt、.mp3、.xlsとか。
今日はこれの役割についてちょっと書いてみようかと。
最近のOSはデフォルトでは表示されなくなってるので意識する事って少ないかな?

.txtだからテキストファイル、.xlsだからExcelファイルと覚えてる人がほとんどだと思いますが実は違うんです。
拡張子はそのファイルの種類を表す物ではありません。
そのファイルを何のアプリケーションで開くのが適切かを表す物です。


つまり「テキスト.txt」を「テキスト.xls」にした所でExcelファイルになるわけじゃないってことです。(この場合は開けることもあるでしょうが。)
もっと極端に言えば「集計表.xls」を「集計表.mp3」にしたって何の音楽も流れてきません。

パソコンが何のアプリケーションで開けばいいかを教えてるだけなわけです。.txtならメモ帳、.xlsならExcelというように。
ほとんどの拡張子には起動する拡張子が関連付けられています。この関連付けを変更する方法は割愛します。
試しに拡張子を取ってしまうと、パソコンは何で開いていいのか分からなくなるので、アプリケーションの一覧から選択することを要求してきます。

いや、なんでこんな事を急に書くのかというと、さっき社内で後輩とのやり取り。
後:「プログラム、上手く動かないんですけど・・・」
俺:「ん?ExcelファイルをCSVファイルに変換して渡してる??」
後:「はい、大丈夫です。」
俺:「じゃあ、CSVファイル*1、メモ帳で開いてみて。」
後:「はい・・・あれ?・・・」
俺:「読めないねぇ・・・どうやって変換した?」
後:「拡張子を.xlsから.csvにしました。」

しっかりしてくれよ・・・orz

*1:正常なCSVファイルはExcelでもメモ帳でも人が認識できるように開くことが出来ます。