バイナリー‐ファイル【binary file】
バイナリファイル
【英】binary file
バイナリファイルとは、テキストファイルなどのような特定のアプリケーションで読み込むことができるファイルフォーマットを前提として、それに該当しないファイルを指す呼称である。
一般的には、テキストファイルと対比し、テキストファイルではない(テキストエディタで扱うことができないファイルを指すことが多い。
コンピュータ上で処理ができるファイルは、テキスト形式も含めて、全てバイナリファイルである。このうち、ファイル内のデータが全てプレーンテキストとして処理できるものが、特にテキストファイルと呼ばれている。主にテキストを扱う文書ファイルでも、書式などの情報が含まれている場合は、テキストエディタで正常に表示させることができない。こうしたファイルはバイナリファイルに該当する。
バイナリ
バイナリ、バイナリー(Binary)とは、算術的な用法では二進法のことであるが、情報技術においては、コンピュータが直接的に処理するために2進数で表現されるデータ(バイナリデータ)のことを指して用いられる。
概要
バイナリは、コンピュータが直接的に処理することができるようにフォーマットされているため、人間が読んでもただちに意味を理解することはできない。バイナリエディタを用いると、バイナリファイルの内容を16進数で表示させ、編集することができる。
バイナリに対する用語として、プレーンテキストが用いられる[1]。テキストは、テキストエディタに読み込ませることにより、人間が読んで内容を理解できるデータである。
バイナリの例
たとえば画像ファイルや音声ファイル、圧縮されたファイルなどはバイナリである。バイナリファイルの中にはファイルの先頭にメタ情報(ヘッダ)を持っているものがある。たとえばGIFファイルは複数の画像を持つことができ、ファイルの先頭でそれぞれの画像を区別する情報が記述されている。そのようなメタ情報を持たないファイルはフラットバイナリファイルと呼ばれる。コンピュータプログラム関係では、テキストであるソースコードとの対比からコンパイルされたコード(オブジェクトファイルや実行ファイルなど。またそのような機械語(ネイティブバイナリ)に限らず、WebAssemblyやJavaなどのバイトコード類なども含む)のファイル等を指してバイナリと呼ばれることがしばしばある。プロプライエタリのソフトウェアは、バイナリの形態でさらに難読化を掛けて、販売されることが多い。
バイナリ形式でのデータの表現方法はさまざまなものがある。例えば、数値であれば0~9までの数をパターン化して記録するBCD、ゾーンビットと実際の数値、正の数か負の数かを記録する符号ビットからなるアンパック10進数(ゾーン10進数)や、実際の数値と符号ビットだけからなるパック10進数などがある。文字列の扱いとしては、ナル文字('\0')で終端する方法や、長さ(オクテット数、あるいは文字(符号点)の個数)を別に保持する、といった方式がある。前者では、'\0' を含むようなバイナリを「文字列」として扱うことができない。
注意点
バイナリフォーマットでは、エンディアンなどに互換性・移植性の上で注意が必要であり、それを避けてテキスト形式で記録することも少なくない(UNIX哲学も参照。なお浮動小数点数やループした構造の表現など、テキスト形式にも注意が必要な点は多い)。
脚注
- バイナリ・ファイルのページへのリンク