可変長符号
写像内のターゲットビット列が、同じ写像内の異なる情報源シンボルのターゲットビット列の接頭部でない場合、その符号は接頭符号(prefix code)である。つまり、シンボルは、符号語全体が受信されると即時に復号することができる。そのため、接頭符号は瞬時復号可能符号とも呼ばれる。
前節の符号 M 3 {\displaystyle M_{3}} は接頭符号ではない。符号文字列の"0"を受信した時点で、それが情報源シンボル a に対応する符号語なのか、情報源シンボル b や c に対応する符号語の接頭部なのかが判別できないからである。
接頭符号の例を以下に示す。
符号化と復号の例 aabacdab → 00100110111010 → |0|0|10|0|110|111|0|10| → aabacdab
ブロック符号は接頭符号の特別な場合である。ブロック符号では、符号語が固定長である。ブロック符号は情報源符号化においてはそれほど有用ではないが、通信路符号化において誤り訂正符号として役立つ。
任意の大きな整数を一連のオクテットとして符号化する(すなわち、すべての符号語は8ビットの倍数である)可変長数値表現もまた、接頭符号の特別な場合である。