バイナリ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

バイナリ (binary) とは二進法のことであるが、コンピュータが処理・記憶するために2進化されたファイルまたはその内部表現の形式(バイナリデータ)のことを指して用いることが多い。

コンピュータが扱うすべてのデータはバイナリデータ(バイトの並び)であり、プレーンテキスト(または単にテキスト)もバイナリデータの一種ではあるが、通常バイナリとテキストは対比して用いられる。テキストとはデータの内容すべてを人間が読んで理解できる (human-readable) もの、バイナリとはそうでないものを指す。human-readableに対する語はmachine-readableだが、これは(機械的に読むことが可能であるように)フォーマットが定められているもの、という意味である。バイナリフォーマットではエンディアンなどに互換性移植性の上で注意が必要であり、それを避けてテキスト形式で記録することも少なくない(UNIX哲学も参照。なお浮動小数点数やループした構造の表現など、テキスト形式にも注意が必要な点は多い)。バイナリエディタを用いると、バイナリファイルを1バイトずつの(16進法での)数値の並びとして表示・編集を行うことができる。バイナリのファイルでも多くは部分的にテキストとして読み取れる箇所が存在するため、そういった箇所のみを抜き出すstringsというユーティリティもある。

バイナリファイルにはたとえば画像ファイルや音声ファイル、圧縮されたファイルなどがある。バイナリファイルの中にはファイルの先頭にメタ情報(ヘッダ)を持っているものがある。たとえばGIFファイルは複数の画像を持つことができ、ファイルの先頭でそれぞれの画像を区別する情報が記述されている。そのようなメタ情報を持たないファイルはフラットバイナリファイルと呼ばれる。 特にプログラマの間で、テキストであるソースコードとの対比からコンパイルされたプログラムオブジェクトファイル実行ファイルなど)のことを指してバイナリと呼ばれることがしばしばある。 商用ソフトウェアは、他者による改変を防ぐためにバイナリの形態で販売されることが多い。

バイナリ形式でのデータの表現方法はさまざまなものがある。例えば、数値であれば0~9までの数をパターン化して記録するBCD、ゾーンビットと実際の数値、正の数か負の数かを記録する符号ビットからなるアンパック10進数(ゾーン10進数)や、実際の数値と符号ビットだけからなるパック10進数などがある。また、文字列であればPascal文字列やC文字列などがある。

ギークの間では、11月11日を「バイナリデイ」と呼ぶことがある(1111が2進数表記とみなせるため)。

関連項目[編集]