Code128
Der Code128 (1981) ist ein alphanumerischer Strichcode (Barcode) mit hoher Informationsdichte. Der Prinzipaufbau eines Code128-Symbols besteht aus einem Startzeichen, der Nutzinformation, der Prüfziffer und dem Stoppzeichen. Vor dem Startzeichen und hinter dem Stoppzeichen muss ein weißer Bereich (Hellfeld bzw. Ruhezone) mit einer Breite von jeweils mindestens 10 Modulen freigehalten werden.
![](../I/Code_128B-2009-06-02.svg.png.webp)
Der Code128 ist in der internationalen Norm ISO/IEC 15417 vollständig beschrieben.
Die Kodierung besteht aus einem Mehrbreitencode mit elf Modulen für jedes Symbol. Jeweils drei Balken und drei Zwischenräume von maximal vier Modulen Breite bilden das Codemuster für ein Symbol. Der Zeichenaufbau ist selbstüberprüfend, da die Anzahl der als Balken dargestellten Module stets gerade, die Anzahl der Zwischenraummodule ungerade ist.
Drei verschiedene Startsymbole 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 aufgefasst 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über hinaus die Möglichkeit zur Kombination mehrerer, nacheinander gelesener Lesesymbole.
Das Alphabet von Code128 enthält die Zuordnung von 103 Zeichen zu den dedizierten Barcodemustern. Dazu kommen 3 unterschiedliche Startzeichen und 1 Stoppzeichen. Das Stoppzeichen nimmt eine Sonderstellung ein. Es ist aus 13 Modulen mit vier Strichen aufgebaut und gilt unabhängig von einer Zeichensatzauswahl. Da der Code128 (wie auch andere Strichcodes) seine Information über die Strichbreiten und Strichpositionen kodiert, ist ein präziser Codedruck erforderlich, um die kodierte Information zuverlässig wieder auslesen zu können.
Zeichensätze
Es gibt drei verschiedene Zeichensätze:
- Zeichensatz A enthält Ziffern, Großbuchstaben, Sonderzeichen und ASCII-Steuerzeichen.
- 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 (plus Sonderzeichen FNC1).
Enthält ein Barcode mehrere zusammenhängende Ziffern, kann es vorteilhaft sein, zwischendurch in den Zeichensatz C zu schalten, um so die Anzahl der benötigten Symbole zu verringern.
Das Testzeichen wird aus der gewichteten Summe der Zeichenwertigkeiten (Tabellenindizes) als Teilungsrest modulo 103 berechnet und unmittelbar vor dem Stoppzeichen in den Barcode eingefügt. Der Code ist im Unterschied zu älteren Codes wie z. B. 2/5 nicht kontextfrei, die Interpretation eines Zeichens wird also durch voranstehende Zeichen bestimmt.
Der Code128 ist Basis des GS1-128, der von den speziellen Eigenschaften Verkettung, Zeichensatzwechsel und Präfixcode expliziten Gebrauch macht. Früher wurde der GS1-128 als EAN-128 bezeichnet. Durch die Namensänderung der dahinterstehenden Organisation zu GS1 (Global Standards ONE) wurde auch der Name auf GS1-128 geändert. Die Besonderheit ergibt sich aus dem strukturierten Codeinhalt für GS1 Anwendungen. Die Vorgaben für normierte Datenstrukturen sind in der internationalen Norm ISO/IEC 15418 zu finden.
Weblinks
- Code128 Generator MIT Open Source Javascript Code128 Generator
- Grandzebu.net bietet ein Excel-Makro an, um Code-128-Barcodes zu erzeugen, und eine große Menge an Informationen (Französisch, teilweise Englisch)