コードセットA、B、C
Code 128は、種類の違うデータを効率よく収めるために、3つのコードセットを切り替えます。セットAは、大文字、数字、制御文字を扱い、セットBは、大文字と小文字、数字、句読点を扱います。セットCは、シンボル文字1つに2桁の数字を詰め込むので、長い数字をとてもコンパクトに表せます。
各シンボル文字の幅は11モジュールで、3本のバーと3つのスペースからなり、ストップパターンは13モジュールです。エンコーダーは、バーコードの途中でセットを切り替えて、できるだけ短くできます。
チェック文字
すべてのCode 128バーコードは、必須のチェック文字で終わります。スタート文字の値に、各データ文字の値とその位置を掛けた値の合計を足し、103で割った余りが、チェック文字です。チェック文字は、人が読める文字列には表示されません。
物流でのGS1-128
GS1-128は、スタートの後にFNC1文字を付けたCode 128で、内容がGS1アプリケーション識別子であることを示します。出荷ラベルやパレットのラベルの標準的な一次元バーコードで、SSCC(アプリケーション識別子00)に加え、GTIN、バッチ番号、日付なども運ぶことがよくあります。
Code 128は、ISO/IEC 15417で規定されており、出荷、倉庫、社内のラベルに広く使われています。