バイナリ

こんにちわ。にっぱちです。
梅雨明け宣言はどこへやら、雨が続いていますね。
現在業務でバイナリファイルを読み込む作業がありまして、バイナリファイルについて調べたので
今回はそのことについて書いていこうと思います。

バイナリファイルとテキストファイルの違い

簡単に言うとwindowsのメモ帳で正しく文字が表示されるのがテキストファイルでそれ以外はバイナリファイルとなります。(文字コードの違いで正しく表示されないことはありますが今はおいときます)
なぜこのようなことが起きるかというと、テキストファイルもコンピューターからしたらバイナリとして認識しており文字の並びが文字コードにあるものとなっており、人間が認識できる文字(以降ここでは人語と言います)として表示されるわけです。
逆に文字コードにない並びとなっていると人語としては意味不明な文字となってしまいます。

具体例

シンプルなASCIIコードで説明します。これは英数字と一部の記号しかないので日本語は表示されません。
REGEXと書かれたテキストファイルがあってこれをバイナリファイルに変換すると中身は
52 45 47 52 45 58 のようになります。これらの数字はすべて16進数です。ASCIIコードの表を見ていただくと
52->R 45->E 47->G ….. と対応しているのがわかると思います。
ですが、これはメモ帳などのテキストエディタでの話で同じバイナリ文字列でも開くプログラムによっては解釈がことなります。
今回作成中のツールでもそうですが、例えば1バイト目から4バイト目は何々で5バイト目から12バイト目は何々みたく
そのプログラムのルールにのっとって解釈が変わっていきます。

感想

自分でもつっこみポイントがあるくらいふわっとした内容ですが、結果まだあまりわかっていません。(笑)