Kodsatserna A, B och C
Code 128 växlar mellan tre kodsatser för att effektivt passa olika slags data. Sats A omfattar versaler, siffror och styrtecken; sats B omfattar versaler och gemener, siffror och skiljetecken; sats C packar två siffror i varje symboltecken, vilket gör långa tal mycket kompakta.
Varje symboltecken är 11 moduler brett, bestående av 3 streck och 3 mellanrum, och stoppmönstret är 13 moduler. En kodare kan byta sats mitt i en streckkod för att hålla den så kort som möjligt.
Kontrolltecknet
Varje Code 128-streckkod slutar med ett obligatoriskt kontrolltecken. Det beräknas genom att starttecknets värde adderas till summan av varje datatecknets värde multiplicerat med dess position, varefter resten vid division med 103 tas. Kontrolltecknet visas inte i den läsbara texten.
GS1-128 i logistik
GS1-128 är Code 128 med ett FNC1-tecken efter starttecknet, som markerar innehållet som GS1-applikationsidentifierare. Det är den vanliga linjära streckkoden på frakt- och pallettiketter, där den ofta bär en SSCC (applikationsidentifierare 00) tillsammans med GTIN, batchnummer och datum.
Code 128 specificeras i ISO/IEC 15417 och används flitigt för frakt, lagerhållning och interna etiketter.