バイト列【byte string】バイナリ列/binary string

情報分野における「バイト」(byte)とは、8ビット、すなわち「0」か「1」かの値を持つ「ビット」(bit)が8個集まった単位であり、0から255までの256通りの値を表せる。バイト列はこのバイトを一列に並べたデータである。文字(テキスト)、画像、音声、プログラムのコードなど、種類を問わずあらゆるデータがバイト列として記憶媒体に保存され、ネットワーク上を流れる。
バイト列の各バイトは先頭からの通し番号(インデックス)で区別される。プログラム中ではバイト列の中の特定の位置のバイトを直接参照したり、任意の範囲を切り出したりといった操作がよく行われる。バイト列には何らかの意味や形式が与えられている場合があり、どのバイトが何の情報を表しているのかという構造の解釈が必要になることがある。この構造や規則はデータ型やデータ形式として定義される。
例えば、バイト列で文字の並びを表す場合には、文字をどのバイト値に対応させるかを取り決めた「文字コード」という規則を適用する。よく知られるASCIIコードでは英数字の1文字を1バイト(正確には7ビット)で表し、UTF-8では英数字を1バイト、日本語などの文字を3バイトで表す。同じバイト列であっても、異なる文字コードで解釈すれば異なる文字として読み取られるため、バイト列を文字として扱う際は文字コードの指定が欠かせない。
プログラミング言語には、バイト列を扱う専用のデータ型が用意されていることが多い。Pythonではbytes型、Javaではbyte[](バイト配列)、JavaScriptではArrayBufferおよびUint8Arrayがこれにあたる。多くの言語では文字列型とは区別され、文字列とバイト列を相互に変換する際はエンコードとデコードの処理を明示的に行う必要がある。ファイルの読み書きや通信処理の実装では、このバイト列の扱いが基礎となる。