Code128
Die Codierung besteht aus einem Mehrbreitencode mit 11 Modulen für jedes Zeichen. Jeweils drei Balken und drei Zwischenräume von maximal vier Modulen Breite bilden das Codemuster für ein Zeichen. Der Zeichenaufbau ist selbstüberprüfend, da die Anzahl der als Balken dargestellten Module stets gerade, die Anzahl der Zwischenraummodule ungerade ist.
Drei verschiedene Startzeichen definieren beim Code128 den gültigen Zeichensatz und damit die Bedeutung eines bestimmten Strichcodemusters. Der Wechsel des Zeichensatzes innerhalb eines Lesesymbols wird durch kontextabhängige Sonderfunktionscodes gesteuert (Diese Steuerzeichen können am besten als Satzzeichen aufgefaßt werden, die die Informationen strukturieren.).
Es sind permanente Zeichensatzwechsel oder temporäre, die nur für ein einziges Folgezeichen gelten, definiert. Weiterhin existieren Sonderfunktionscodes, die die Zwischenspeicherung von Präfixcodes oder die Kennzeichnung von Sondereinsatzgebieten steuern. Es besteht darüberhinaus die Möglichkeit zur Kombination mehrerer, nacheinander gelesener Lesesymbole.
Das Alphabet von Code128 enthält die Zuordnung von 106 Zeichen zu den dedizierten Barcodemustern. Hierbei nimmt das Stopzeichen eine Sonderstellung ein. Es ist aus 13 Modulen aufgebaut und gilt unabhängig von einer Zeichensatzauswahl. Im Zeichensatz A sind Ziffern, Großbuchstaben, Sonderzeichen und ASCII-Steuerzeichen enthalten. Zeichensatz B enthält Ziffern und alle Groß- und Kleinbuchstaben, sowie Sonderzeichen und Umschaltzeichen. Speziell für numerische Erfordernisse ordnet Zeichensatz C den Barcodemustern 100 Wertepaare von "00" bis "99" zu.
Das Testzeichen wird aus der gewichteten Summe der Zeichenwertigkeiten (Tabellenindizes) als Teilungsrest modulo 103 berechnet und unmittelbar vor dem Stopzeichen in den Barcode eingefügt. Der Code ist im Unterschied zu ältern Codes wie z.B. 2/5 nicht kontextfrei d.h. die Interpretation eines Zeichens wird durch voranstehende Zeichen bestimmt.
Der Code128 ist Basis des EAN128, der von den speziellen Eigenschaften Verkettung, Zeichensatzwechsel und Präfixcodes expliziten Gebrauch macht.