バイナリ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

バイナリ (binary) とは、本来は二進法のことであるが、情報技術においては、コンピュータが直接的に処理するために2進数で表現されるデータ(バイナリデータ)のことを指して用いられる。

概要[編集]

バイナリに対する用語として、テキストが用いられる。テキストは、人間が読んで内容を理解できるデータであり、テキストエディタにより閲覧・編集することができる。一方でバイナリは、コンピュータが直接的に処理することができるようにフォーマットされているため、人間が読んでもただちに意味を理解することはできない。

バイナリエディタを用いると、バイナリファイルの内容を16進数で表示させ、編集することができる。

バイナリの例[編集]

たとえば画像ファイルや音声ファイル、圧縮されたファイルなどはバイナリである。バイナリファイルの中にはファイルの先頭にメタ情報(ヘッダ)を持っているものがある。たとえばGIFファイルは複数の画像を持つことができ、ファイルの先頭でそれぞれの画像を区別する情報が記述されている。そのようなメタ情報を持たないファイルはフラットバイナリファイルと呼ばれる。コンピュータプログラム関係では、テキストであるソースコードとの対比からコンパイルされたコード(オブジェクトファイル実行ファイルなど。またそのような機械語(ネイティブバイナリ)に限らず、WebAssemblyJavaなどのバイトコード類なども含む)のファイル等を指してバイナリと呼ばれることがしばしばある。プロプライエタリのソフトウェアは、バイナリの形態でさらに難読化を掛けて、販売されることが多い。

バイナリ形式でのデータの表現方法はさまざまなものがある。例えば、数値であれば0~9までの数をパターン化して記録するBCD、ゾーンビットと実際の数値、正の数か負の数かを記録する符号ビットからなるアンパック10進数(ゾーン10進数)や、実際の数値と符号ビットだけからなるパック10進数などがある。文字列の扱いとしては、ナル文字('\0')で終端する方法や、長さ(オクテット数、あるいは文字(符号点)の個数)を別に保持する、といった方式がある。前者では、'\0' を含むようなバイナリを「文字列」として扱うことができない。

注意点[編集]

厳密に言えば、テキストもバイナリの一種である(デコードすることにより文字列への変換が可能だが、もとは2進数のデータである)。また、バイナリの中にテキストが混在している場合もある。しかし、データの種類を区別する便宜上、バイナリとテキストは対比して用いられる。

バイナリフォーマットでは、エンディアンなどに互換性移植性の上で注意が必要であり、それを避けてテキスト形式で記録することも少なくない(UNIX哲学も参照。なお浮動小数点数やループした構造の表現など、テキスト形式にも注意が必要な点は多い)。

関連項目[編集]