バイナリとは一体何でしょうか。初めて聞いた方のために説明すると−
バイナリ 【 binary 】
「テキスト形式(文字データ)以外のデータ形式全般のこと。
バイナリ形式のデータをバイナリデータ、バイナリデータで構成されるファイルをバイナリファイルという。
実行可能形式のコンピュータプログラムや、画像や音声、動画などのデータなどがバイナリデータにあたる。
テキストファイルで使用できない制御コードなどを含むため、テキストエディタでまともに読むことはできない。
バイナリの原義は「二進数の」という意味。」
(以上、ほぼ転載)
砕いて説明してしまうと、html や txt などのテキスト形式以外のデータ形式のことですね。
つまり jpg gif など画像系は全てバイナリデータに当たるわけです。
では一体それはどんなものか、とりあえず見てみましょう。
ここ をクリックして下さい。
さてテキストエディタで開いた画像はどうでしたでしょうか。
恐らくわけのわからない不可解な文字化け文章がずらっと表示されたと思います。
【9-1】で、文字はコンピュータの中では数字として扱われると言いました。
しかしそれは文字に限ったことではなくて、どんなデータでも数字として扱われます。
数字で表現できるということは、逆にいえば文字でも表現できることになります。(【9】参照)
なので、画像を文字で無理矢理に表示させてみたものが、今のテキストなのです。
いくつか「・」や空白の部分があり、文字として表示できていない箇所あります。
そもそもバイナリデータ(画像)は、テキストエディタ(メモ帳)でまともに読めないと
先ほど言いましたので、その部分が全て「・」や空白になってしまっているのです。
さっきの例では画像をテキストエディタで開いただけ、つまりあるファイルを画像として表示させたか
テキストとして表示させたかの違いです。つまり2つのファイルは全く同じものと言い換えることができます。
その証拠に、あの文字化けテキストの拡張子を txt から jpg に変えるだけで、画像に生まれ変わります。
さっきダウンロードした 101ex.zip から取り出した 101ex.txt の拡張子を
右クリック → 名前の変更 で 101ex.txt から 101ex.jpg にして下さい。
そのファイルを開けば画像が表示されると思います。(拡張子が表示されない方は【こんな時は?】へ)
では、問題をやってみましょう。
問題 10-1 ファイル形式を見破れ
++ 余談1 ++
バイナリデータをブラウザにテキストデータとして表示させて保存してしまうと
テキストでは表示できない部分が書き換わってしまうことがあります。
++ 余談2 ++
gif や jpg であれば、拡張子がtxtでもブラウザが勝手に判断して画像化してくれることがあります。