I set di codice A, B e C
Il Code 128 passa tra tre set di codice per adattarsi in modo efficiente a diversi tipi di dati. Il set A copre lettere maiuscole, cifre e caratteri di controllo; il set B copre lettere maiuscole e minuscole, cifre e punteggiatura; il set C impacchetta due cifre in ogni carattere del simbolo, il che rende i numeri lunghi molto compatti.
Ogni carattere del simbolo è largo 11 moduli, formato da 3 barre e 3 spazi, e il pattern di fine è di 13 moduli. Un codificatore può cambiare set a metà di un codice a barre per tenerlo il più corto possibile.
Il carattere di controllo
Ogni codice a barre Code 128 termina con un carattere di controllo obbligatorio. Si calcola sommando il valore del carattere di inizio alla somma del valore di ciascun carattere di dati moltiplicato per la sua posizione, poi prendendo il resto della divisione per 103. Il carattere di controllo non compare nel testo leggibile.
Il GS1-128 nella logistica
Il GS1-128 è un Code 128 con un carattere FNC1 dopo l'inizio, che segna il contenuto come identificatori di applicazione GS1. È il codice a barre lineare standard sulle etichette di spedizione e dei pallet, dove spesso contiene un SSCC (identificatore di applicazione 00) insieme a GTIN, numeri di lotto e date.
Il Code 128 è specificato nell'ISO/IEC 15417 ed è molto usato per spedizioni, magazzini ed etichette interne.