Codesets A, B en C
Code 128 wisselt tussen drie codesets om verschillende soorten gegevens efficiënt te passen. Set A omvat hoofdletters, cijfers en besturingstekens; set B omvat hoofdletters en kleine letters, cijfers en leestekens; set C stopt twee cijfers in elk symboolteken, waardoor lange getallen heel compact worden.
Elk symboolteken is 11 modules breed, opgebouwd uit 3 balken en 3 spaties, en het stoppatroon is 13 modules. Een encoder kan midden in een barcode van set wisselen om hem zo kort mogelijk te houden.
Het controleteken
Elke Code 128-barcode eindigt met een verplicht controleteken. Het wordt berekend door de waarde van het starteken op te tellen bij de som van de waarde van elk gegevensteken vermenigvuldigd met zijn positie, en dan de rest na deling door 103 te nemen. Het controleteken wordt niet in de leesbare tekst getoond.
GS1-128 in de logistiek
GS1-128 is Code 128 met een FNC1-teken na de start, dat de inhoud aanmerkt als GS1-toepassingsidentificatoren. Het is de standaard lineaire barcode op verzend- en palletlabels, waar hij vaak een SSCC (toepassingsidentificator 00) bevat naast GTIN’s, batchnummers en datums.
Code 128 is gespecificeerd in ISO/IEC 15417 en wordt veel gebruikt voor verzending, opslag en interne labels.