パソコンやスマートフォンで日常的に扱っているデータの多くは、写真、動画、文書、アプリなどとして使い分けられていますが、その内部では機械向けの形で保存されているものが数多くあり、その代表がバイナリデータです。
バイナリデータとは何かをざっくり掴む
バイナリデータとは、コンピュータが0と1の組み合わせで扱うデータのうち、人が文字としてそのまま読める形ではないものを指します。
画像、音声、動画、実行ファイル、古い独自形式の文書などは、その代表例です。ファイルをメモ帳で開いても意味不明な記号が並ぶだけなら、それはバイナリデータの性質が強いと考えて差し支えありません。
ただし、これは特別な異世界の話ではありません。私たちが普段見ているJPEG画像やPDF、アプリ本体も、多くは内部的に機械向けの構造で保存されています。
つまりバイナリデータとは、一部の専門家だけが触れる珍しい存在ではなく、日常のデータ利用を裏側で支えている、ごく普通の保存形式の一群だと見るほうが実態に近いです。
なぜ今でもバイナリデータが分かりにくいのか
分かりにくさの最大の理由は、人の目で中身を確認しても意味がつかみにくいことです。テキストファイルなら、対応ソフトがなくてもある程度は中身を推測できます。
しかしバイナリデータは、専用のソフトや規格の知識がないと、何のファイルなのか、壊れているのか、ただ読めないだけなのかも判断しにくくなります。
さらに、古いデータほど事情が複雑になります。昔のワープロソフト、独自形式の画像、古い業務データなどは、拡張子を見ただけでは正体が分からないこともあります。
現代の環境では開けないだけなのに、利用価値がないように見えてしまうこともあるでしょう。この感覚的につかみにくいところが、バイナリデータを理解しようとする意欲を遠ざけているとも言えそうです。
テキストデータとの違いはどこにあるのか
テキストデータは、文字コードの知識が必要とはいえ、基本的には文字列として読めることが前提です。たとえば設定ファイルや簡単なメモなら、メモ帳で開くだけでも内容の見当がつきます。
それに対してバイナリデータは、見えても意味が読み取れない、あるいは一部だけ読めても全体像が分からないことが珍しくありません。
そのため、扱う側には中身を読む力よりも、対応ソフトを見極める力、変換や複製を慎重に行う姿勢、元データを保全する判断が求められます。つまり、単なる見た目ではなく、データの扱い方そのものに違いがあるのがバイナリデータの特徴と解釈できます。
テキストエディタでバイナリデータを表示
ここでは、バイナリデータのイメージを掴むため実際にexeファイルの例を用いてテキストエディタで表示してみましょう。

まずexeファイルをテキストエディタで開いた状態を見ると、次のように意味の分からない記号や文字列が大量に並んでいるのが分かります。
このexeファイルは、コマンドラインから実行することで、「これはバイナリデータ表示テストのための実行プログラムです」という表示だけを返す実行形式のファイルになっています。
本来はプログラムとして動作するファイルですが、テキストとして無理に解釈されるため、文字化けのような表示になります。
続いて、このexeファイルが本来どのように扱われるのかを見てみます。

こちらはPowerShellから実行した状態で、プログラムとして正しく解釈された場合の挙動です。
目的通りに実行すると、ファイルは意味不明な文字列ではなく、コンピュータが理解できる命令として動作します。同じデータでも、解釈方法が違うだけで「読めない文字列」から「動作するプログラム」へと変わります。
理解が難しいバイナリデータとの向き合い方
結論として、一般の利用者がバイナリデータの内部構造まで突き詰めて理解する必要はありません。
すべてを解析できるようになることよりも、これは人が直接読む前提のデータではない、対応するソフトや形式の知識が必要になる、下手に上書きや変換をすると壊す恐れがある、この三点を押さえておくことのほうが実用的です。
データ救出や古いファイルの再活用では、読めないものをすぐ不要と決めつけない姿勢が大切です。中身が見えないのは無意味なのでなく機械向けに作られているためです。
そこを理解しておけば、必要以上に難解なものと扱わず、適切なアプリケーションソフトや変換手段を探す判断につながります。バイナリデータは、全面的に理解すべき対象というより、実用に必要な範囲で正体を知っておけば事足りる特異なデータだと言えるでしょう。