Hintergrund Kapitel Abbildungen Literatur Dialog

5    Barcode


5.1   Definition, Bedeutung

Einstieg Barcodes oder Strichcodes werden verwendet zum Markieren und Identifizieren von Objekten mit Symbolen. Diese können mit üblichen Verfahren billig und oft ohne Zusatzaufwand gedruckt werden.
Die Identifizierung erfolgt maschinell und schnell. Trotz niedriger Informationsdichte können die Symbole leicht beschädigt oder gefälscht werden.
Summary Barcodes are used for marking and identifying objects using symbols. Marking with common printing procedures is inexpensive and often without extra costs.
Identifying by machine is fast and produces few errors. Having low density information is prone to damage and forgery.

Die Begriffe Barcode und Strichcode werden im deutschen Sprachraum etwa gleichhäufig und mit derselben Bedeutung verwendet. Daneben ist auch noch Balkencode in Gebrauch. In diesem Kapitel wird durchgehend der Begriff Barcode verwendet.
Barcodes enthalten eine Folge von Zeichen (Ziffern, Buchstaben und Sonderzeichen) in codierter Form. Sie stellen diese Zeichen als optische Muster dar. Man spricht deshalb auch von einer Barcodeschrift. Die Schriftzeichen sind dabei auf Maschinenlesbarkeit optimiert. Sie werden durch eine Aufeinanderfolge von dunklen und hellen Streifen unterschiedlicher Breite codiert.
Bei eindimensionaler Codierung enthält die Höhe der Striche keine Information, bei zweidimensionalen Codes werden die Zeichen in mehreren "Zeilen" gestapelt oder direkt auf eine Matrixstruktur abgebildet.
Betrachtet man den Vorgang unter dem Gesichtspunkt der Informationsspeicherung, handelt es sich um ein Verfahren zur billigen, nichtflüchtigen und nicht änderbaren Speicherung kleiner Informationsmengen. Die Abspeicherung (Anbringung der Information) ist flexibel und oft ohne Extraaufwand möglich. Die Wiedergewinnung ist schnell, wenig fehleranfällig und relativ preiswert.

Am weitesten verbreitet sind Barcodes in folgenden Gebieten:
  • Identifizieren von Gegenständen und Waren: Supermarkt, Lagerverwaltung, Spedition, Medizin
  • Identifizierung von Personen: Zugangskontrolle
  • Identifizierung von Dokumenten: Lieferscheine, Karteikarten, Bibliothek
  • Rationelle Befehlseingabe: Videorecorder-Programmierung
An Barcodes werden unterschiedliche und widersprüchliche Anforderungen gestellt:
  • Leichte und preiswerte Erzeugung
  • Geringer Platzbedarf
  • Erkennungssicherheit
  • Schnelle und preiswerte Erkennung
Die unterschiedlichen Anforderungsschwerpunkte in den einzelnen Anwendungsgebieten brachten eine Vielzahl unterschiedlicher Codes hervor. Auch die technische Weiterentwicklung der Drucktechniken und Lesegeräte führten dazu, dass im Laufe der Zeit neue Codes mit besseren Eigenschaften eingesetzt werden konnten.
Zur Geschichte: In den Jahren nach dem 2. Weltkrieg kam die Idee auf, Lochstreifen durch mit schwarzen Punkten oder Strichen bedruckte Streifen zu ersetzen, wurde aber nie serienreif. Etwa um 1960 wurde ein System entwickelt, um Eisenbahnwaggons im Vorbeifahren zu identifizieren. Es dauerte jedoch noch einige Zeit, bis Barcodes serienmäßig eingesetzt wurden. Die Weiterentwicklung der verschiedenen Codes verdeutlicht folgende Zeittafel:

Eindimensionale Codes Zweidimensionale Codes
1971 Codabar
1973 UPC
1974 Code 39
1977 EAN
1980 Code 128
1987 Code 49, MaxiCode
1988 Code 16 K
1989 DataMatrix
1991 Code One
1992 PDF 417
1995 Aztech Code

5.2   Begriffsklärungen

In der weiteren Beschreibung werden Begriffe verwendet, die zunächst definiert werden sollen (s. auch Abb. 5-1)
Zur Abgrenzung von der Umgebung wird die Barcode- Druckzone von einer Hellzone (oder Ruhezone) umgeben. Die Druckzone enthält das Barcodesymbol und meist noch eine Klarschriftzeile, die aber nicht maschinell ausgewertet wird. Ein Symbol besteht aus mehreren Zeichen, die meist Buchstaben, Ziffern und Sonderzeichen in codierter Form darstellen. Ein Zeichen besteht aus mehreren Elementen. Das dunkle Element (mit der binären Wertigkeit 1) heißt Strich oder Balken, das helle Element (mit der binären Wertigkeit 0) heißt Lücke oder Zwischenraum. Striche und Lücken wechseln sich ab. Das schmälste Element eines Codes heißt Modul , seine Breite Modulbreite X. Alle Elemente haben die nominelle Breite n * X. Bei Zweibreitencodes gibt es Elemente der Breiten X und 2*X. Die Toleranzen sind so definiert, dass für das breitere Element auch 3*X erlaubt ist. Mehrbreitencodes erfordern kleinere Toleranzen, erzielen aber eine höhere Informationsdichte. Am verbreitetsten sind Codes mit vier Breiten (X, 2*X, 3*X, 4*X).
Bei diskreten Codes werden die Zeichen durch Trennlücken getrennt, die keine Information tragen. Bei fortlaufenden Codes gehören alle Striche und Lücken zu einem Zeichen.
Alle Symbole werden mit einem Startzeichen eingeleitet und mit einem Stopzeichen beendet. Die gebräuchlichsten Codes benutzen codespezifische Start- und Stopzeichen und können deshalb beim Lesevorgang automatisch identifiziert werden.
Bidirektionale Codes können, wie der Name sagt, in zwei Richtungen von links nach rechts oder von rechts nach links gelesen werden. Sie haben entweder unterschiedliche Start- und Stopzeichen oder mehrere symmetrische Zeichensätze.
Die Informationsdichte ist ein Maß für den relativen Platzbedarf. Stellt ein Barcode ein Zeichen aus seinem Vorrat von n Zeichen mit m Modulen dar, beträgt seine

Informationsdichte = ld n / m bit/Modul

Die höchste erreichbare Dichte beträgt 1 bit/Modul. Je höher die Informationsdichte, desto kleiner ist der relative Platzbedarf, desto engere Toleranzen müssen jedoch beim Drucken eingehalten werden.
Die Barcodedichte ist ein Maß für den absoluten Platzbedarf eines Barcodesymbols und wird angegeben in Zeichen/cm. Für alle Barcodes gilt jedoch in etwa die folgende Einteilung:

Ultra High Density 0.19 mm Modulbreite
High Density 0.24 mm Modulbreite
Medium Density 0.30 mm Modulbreite
Low Density 0.50 mm Modulbreite

Bei zweidimensionalen Codes wird zur Erhöhung der Informationsdichte die Höhe als zweite Dimension ausgenutzt. Die Barcodedichte wird dann in Zeichen/cm2 angegeben.
Bei Stapelcodes werden mehrere Barcodesymbole oder Teile eines Symbols zeilenweise übereinander angeordnet. Während hierfür bei geeigneter Auswertesoftware noch herkömmliche Scanner verwendet werden können, benötigen Matrix-Codes als "echte" zweidimensionale Codes zur Erfassung immer eine Kamera.

5.3   Erzeugung

Die meisten Barcode-Muster werden durch Drucken erzeugt. Die Auswahl eines geeigneten Druckverfahrens hängt von mehreren Kriterien ab:
  • Kosten, Auflage (Einmalkosten / Stückkosten)
  • Zu bedruckendes Material (Papier, Holz, Kunststoff, Metall, Klebeetiketten)
  • Druckqualität (Kontrast, Toleranzen)
Im Prinzip können alle für Texte und Grafik gebräuchlichen Druckverfahren auch zur Erzeugung von Barcodes eingesetzt werden. Man wird jedoch beispielsweise mit einem Laserdrucker problemloser kontrastreiche und engtolerierte Vorlagen erzeugen können als mit einem Nadeldrucker. Bei schwierigen Oberflächen (Material, Krümmung) hängt es von der Stückzahl ab, ob die Oberfläche direkt bedruckt oder mit einem bedruckten Klebeetikett versehen wird.
An den Datenträger werden unterschiedliche Anforderungen gestellt:
  • Bedruckbarkeit
  • Reflexionsverhalten
  • Dauerhaftigkeit
Barcodes können auf unterschiedlichste Materialien aufgebracht werden. Im industriellen Einsatz werden sie oft zusammen mit dem Text auf die Verpackung gedruckt und werden dabei farblich und in der Größe an diesen angepasst. Ist dies technisch nicht möglich oder unwirtschaftlich, weicht man auf Klebeetiketten aus, die je nach Anforderung aus Papier (hoher Kontrast), aus Kunststoff oder Metall (gute Haltbarkeit) bestehen.
Die optischen Eigenschaften der Datenträger werden hauptsächlich bestimmt durch Reflexions- und Absorptionseigenschaften des Untergrunds. Der Kontrast ("Druckkontrastsignal" DKS oder "Print Contrast Signal" PCS) wird formelmäßig beschrieben als

DKS = (Rw-Rs)/Rw Rw = Reflexion weiß
  Rs = Reflexion schwarz

Mit einem Kontrast von 70% erzielt man im allgemeinen eine ausreichende Lesbarkeit. Probleme kann es geben bei glänzenden oder spiegelnden Oberflächen, bei denen die Reflexion stark richtungsabhängig ist. Außerdem sollte der helle Hintergrund genügend undurchsichtig sein. (Dazu ein Fall aus der Praxis: Ein Barcode auf einem transparenten Becher mit Schokoladenpudding kann schon 5..10 Fehllesungen produzieren).
Ein weiterer Aspekt sind die Farben. Beim Lesen werden die Muster am häufigsten mit rotem, manchmal mit infrarotem oder seltener mit blauem Licht abgetastet. Am besten geeignet sind daher schwarze Druckfarben auf weißem Hintergrund. Bei Infrarotabtastung ist darauf zu achten, dass die verwendete Druckfarbe genügend infrarot absorbiert. Wird das Muster nur rot abgetastet, kann es auch farblich gestaltet werden: grün oder blau für den Druck, gelb bis rötlich für den Hintergrund.

5.4   Erstellung der Druckvorlage

Abb. 5-2 zeigt die Bedienoberfläche eines fiktiven Barcode-Druckprogramms mit drei Bereichen:
  • Der Codetyp bestimmt, welche Codetabelle zur Darstellung des Symbols und welcher Ausdruck zur Berechnung des Prüfzeichens verwendet werden. Außerdem werden codierbare Zeichen und (maximale) Länge des Symbols festgelegt.

  • Durch die Geometrie werden Auflösung und absolute Größe des Symbols festgelegt. Druckzonenbreite, Modulbreite und Anzahl der Zeichen sind voneinander abhängig. Die Hellzone muss vertikal und horizontal größer sein als die Druckzone und eventuell Platz bieten für eine Klarschriftzeile.

  • Im Bereich Inhalt werden die zu verschlüsselnden Zeichen eingegeben. Zeichensatz und Symbollänge hängen vom Codetyp ab. Ist der eingegebene Inhalt codierbar, werden Prüfziffer und Symbol berechnet und dargestellt.

5.5   Codeeinteilung

Es sind unzählige verschiedene Barcodes im Einsatz. Noch mehr wurden entwickelt und nie verwendet. Die im folgenden vorgestellte Auswahl soll erstens die in Deutschland am weitesten verbreiteten Typen und zweitens möglichst viele verschiedenartige Codes umfassen.

5.5.1 Eindimensionale Codes

Bei diesen älteren und weitverbreiteten Codes wird nur in einer Richtung abgetastet. Die Höhe der Striche enthält keine Information. Die wichtigste Gruppierung aus technischer Sicht richtet sich nach der Anzahl möglicher Elementbreiten:

    Zweibreitencodes

Striche und Lücken können nominell nur zwei verschiedene Breiten annehmen: schmal oder breit. Die billige und fehlersichere Erkennung wird erkauft durch relativ hohen Platzbedarf.
Folgende Vertreter dieser Gruppe werden weiter unten näher beschrieben:
  • Code 2 aus 5 industriell
  • Code 2 aus 5 interleaved
  • Code 2 aus 5 Matrix
  • Codabar
  • Code 39
Weitere Codes mit einer gewissen Verbreitung:
  • Code 39 extended
  • Code 11
  • Plessey-Code

    Mehrbreitencodes

Die hier behandelten Codes arbeiten alle mit Elementen der Breiten 1, 2, 3 und 4. Gegenüber den Zweibreitencodes kann man höhere Informationsdichten erzielen, erkauft durch wesentlich engere Toleranzen.
Die gebräuchlichsten Vertreter dieser Gruppe sind
  • Code 128
  • UPC A und UPC E
  • EAN 8 und EAN 13
Weniger verbreitet ist
  • Code 93

5.5.2 Zweidimensionale Codes

In der Entwicklung der Barcodetechnologie gab und gibt es, getrieben durch die Weiterentwicklung und damit Verbilligung der Geräte, einen Trend zu höherer Informationsdichte der Symbole. Für die minimale Strichbreite gibt es jedoch dann eine natürliche untere Grenze, wenn zusätzlich gefordert wird, dass ein menschlicher Beobachter die Symbole ohne Hilfsmittel zumindest beurteilen kann. Zur weiteren Erhöhung der Informationsdichte muss man also andere Maßnahmen ergreifen. Während sich eine Farbcodierung der Striche bisher nicht durchsetzen konnte, gibt es jedoch schon eine ganze Reihe von Codes, die die zweite Dimension ausnutzen.
Bei allen Varianten muss der Standard-Dekoder mehr oder weniger erweitert werden. Außerdem muss der gesamte Block abgetastet und zwischengespeichert werden, bevor er an den Rechner übertragen werden kann.
Auch hier gibt es zwei Gruppen:

    Stapelcodes

Wenn ein eindimensionales Symbol mit zunehmendem Informationsgehalt (=Symbollänge) die mögliche oder sinnvolle Scanbreite überschreitet, liegt es nahe, das Symbol aufzuteilen und die einzelnen Teile übereinander anzuordnen. Reduziert man gleichzeitig die Höhe der einzelnen Striche, erhöht man dadurch auch die Informationsdichte. Alle behandelten Varianten sind bezüglich Höhe, Breite und Informationsdichte variabel.
Die bekannteren Codes dieser Gruppe werden im folgenden etwas näher beschrieben:
  • Code 49
  • Codablock A und Codablock F
  • Code 16K
  • PDF 417
Außerdem sind noch erwähnenswert:
  • ISS - SuperCode
  • Micro PDF 417
  • Datastrip
  • Ultracode
  • Codablock 256

    Matrix Codes

Bei den Matrix-Codes handelt es sich um "echte" zweidimensionale Codierung. Die Informationsdichte liegt wesentlich über der von eindimensionalen und Stapelcodes (bis zu 15-fach). Erkauft wird sie dadurch, dass zum Lesen eine Kamera mit nachgeschalteter Bildverarbeitungssoftware benötigt wird. Dieser erhöhte Aufwand bringt jedoch gleichsam als Abfallprodukt weitere Möglichkeiten: Untergrund und Striche können beliebig gefärbt sein, solange sie einen Mindestkontrast von 40% erzielen. Auch Negativdarstellung kann erkannt werden.
Alle betrachteten Varianten verwenden Fehlerkorrekturalgorithmen, die auch bei bis zu 25 % beschädigten Symbolen noch ein sicheres Lesen gewährleisten.
Aus dieser Gruppe werden folgende Vertreter näher beschrieben:
  • DataMatrix
  • MaxiCode
  • Aztec Code
  • Code One
In dieser Gruppe wurden noch eine Vielzahl von Codes entwickelt, zum Teil für Spezialanwendungen, über deren Zukunft der Markt noch entscheiden muss:
  • 3-DI
  • Array-Tag
  • CP Code
  • Data Glyphs
  • Dot Code A
  • hue Code (Graustufen oder Farbe)
  • MiniCode
  • QR Code ("Quick Response" Code, vor allem in Japan)
  • Snowflake Code

5.6   Codebeschreibung

In Barcode-Symbolen gibt es unterschiedliche Elemente:
  • informationstragende Striche (Breite wird ausgewertet)

  • informationstragende Lücken (Breite wird ausgewertet)

  • informationslose Lücken (Breite wird nicht ausgewertet)

Die folgenden Darstellungen enthalten jeweils eine grafische Tabelle (Überschrift: Module) und eine numerische Tabelle (Überschrift: Elemente). In der Grafik werden Strich-Module durch schwarze Quadrate, Lücken mit Information durch graue Quadrate und Lücken ohne Information durch zwei Punkte dargestellt.
Die Elemente-Tabelle enthält die Breite der Elemente als Zahl, informationslose Lücken werden als "0" markiert.
In den Beispielen der eindimensionalen Codes sind Striche schwarz und Lücken grau bzw. weiß.
Bei den zweidimensionalen Codes werden alle "Lücken" weiß dargestellt. Grau bezeichnet in der Prinzipdarstellung Positionen innerhalb des Symbols, die im realen Symbol schwarze oder weiße Module enthalten können.

5.6.1  Code 2 aus 5 industriell ("Industrie-Barcode")

Dieser Code ist in keiner Norm beschrieben. Jedes Nutzzeichen besteht aus 2 breiten und 3 schmalen Strichen. Der Code ist daher selbstüberprüfend.
Die Lücken tragen keine Information und können daher theoretisch beliebig breit sein. In der Praxis verwendet man jedoch Modulbreite 1 für Lücken und schmale Striche und Modulbreite 2 (bis 3) für breite Striche.
Die Anzahl der Nutzzeichen wird nur durch die mögliche Scanbreite begrenzt.
Der Code 2 aus 5 industriell hat den größten Platzbedarf aller behandelten Codes, ist aber dafür relativ unempfindlich gegen Drucktoleranzen.
Da Start- und Stopzeichen nicht symmetrisch zueinander sind, ist der Code bidirektional lesbar.

Zeichensatz 2 Hilfszeichen: Start, Stop
10 Nutzzeichen: Numerisch: Ziffern 0..9
Symbolaufbau Start, n Nutzzeichen, Stop
Länge variabel
Nutzzeichen 5 Balken, davon 2 breit und 3 schmal
Zwischenräume ohne Information
Eigenschaften Zweibreitencode
Selbstüberprüfend
Diskret
Bidirektional
Informationsdichte Niedrig: 0.28 bit/Modul
Platzbedarf Hoher Platzbedarf
Toleranzen Niedrige Toleranzanforderungen: +/- 10%
Symbolprüfzeichen Gewichtung 3, Modulo 10
P = 10 - [(3*Z1° + Z2° + 3*Z3° + Z4° + ...) mod 10]

Beispiel:

Bild gifs/25_ind.gif

5.6.2 Code 2 aus 5 Interleaved (DIN EN 801)

Beim Code 2 aus 5 Interleaved ("überlappt") besteht ein Nutzzeichen entweder aus 2 breiten und 3 schmalen Strichen oder aus 2 breiten und 3 schmalen Lücken. Die Zeichen sind paarweise ineinander verschachtelt. Eine Selbstüberprüfung ist möglich. Alle Striche und Lücken enthalten Information. Die Informationsdichte ist daher relativ hoch.
Das Barcodesymbol beginnt mit einem Startzeichen, dessen letztes Element eine Lücke ist. Daran schließt sich eine gerade Anzahl von Nutzzeichen an. Der erste Teil eines Doppelzeichens besteht aus 5 Strichen, der zweite Teil aus 5 Lücken. An das letzte Nutzzeichen schließt sich ein Stopzeichen an, das mit einem Strich beginnt.
Da Start- und Stopzeichen nicht symmetrisch zueinander sind, ist der Code bidirektional lesbar.
Wegen der paarweisen Codierung muss ein Symbol eine gerade Anzahl, bei der (optionalen) Verwendung einer Prüfziffer eine ungerade Anzahl von Nutzziffern enthalten.
Code 2 aus 5 Interleaved ist in industriellen Anwendungen noch weit verbreitet, wird aber zunehmend durch Code 39 oder Code 128 verdrängt.
Die genauen Spezifikationen enthält die Norm DIN EN 801.

Zeichensatz 2 Hilfszeichen: Start, Stop
10 Nutzzeichen: Numerisch: Ziffern 0..9
Symbolaufbau Start, 2*n Nutzzeichen, Stop
Länge variabel
Nutzzeichen Jeweils zwei Zeichen bilden ein Paar
Erstes Zeichen besteht aus 5 Balken
Zweites Zeichen besteht aus 5 Lücken
Eigenschaften Zweibreitencode
Selbstüberprüfend
Fortlaufend
Bidirektional
Informationsdichte Mittel: 0.48 bit/Modul
Platzbedarf Mittlerer Platzbedarf
Toleranzen Mittlere Toleranzanforderungen: +/- 10%
Symbolprüfzeichen (optional) Gewichtung 3, Modulo 10
P = 10 - [(3*Z1° + Z2° + 3*Z3° + Z4° + ...) mod 10]


Interpretation mit Zeichenpaaren (geeignet für Druckprogramm)

Zeichensatz 2 Hilfszeichen: Start, Stop
100 Nutzzeichen: Numerisch: Ziffern 00..99
Symbolaufbau Start, n Nutzzeichen, Stop

Beispiel:

Bild gifs/25_int.gif

5.6.3 Code 2 aus 5 Matrix

Bei diesem Code besteht jedes Nutzzeichen aus 5 Elementen: 3 Striche und 2 Lücken, von denen 2 breit und 3 schmal sind. Das Verhältnis zwischen breiten und schmalen Elementen liegt im Normalfall zwischen 2.25 : 1 und 3 : 1: Die Lücken zwischen zwei Zeichen tragen keine Information. Da Start- und Stopzeichen nicht symmetrisch zueinander sind, ist der Code bidirektional lesbar.

Zeichensatz 1 Hilfszeichen: Start, Stop
10 Nutzzeichen: Numerisch: Ziffern 0..9
Symbolaufbau Start, n Nutzzeichen, Stop
Länge variabel
Nutzzeichen 5 Elemente (3 Balken, 2 Lücken)
davon 2 breit und 3 schmal
Eigenschaften Zweibreitencode
Keine Selbstüberprüfung
Diskret
Bidirektional
Informationsdichte Mittel: 0.42 bit/Modul
Platzbedarf Mittlerer Platzbedarf
Toleranzen Mittlere Toleranzanforderungen: +/- 10%
Nachteil Überbreite Balken in den Randzeichen
Symbolprüfzeichen (optional) Gewichtung 3, Modulo 10
P = 10 - [(3*Z1° + Z2° + 3*Z3° + Z4° + ...) mod 10]

Beispiel:

Bild gifs/25_mat.gif

5.6.4 Codabar (DIN EN 798)

Beim Code Codabar besteht jedes Zeichen aus 7 Elementen (4 Striche und 3 Lücken). Von den 20 darstellbaren Zeichen haben 12 eine Gesamtbreite von 9, die übrigen eine Breite von 10 Modulen. Zeichen mit 9 Modulen enthalten 2 breite und 5 schmale, Zeichen mit 10 Modulen 3 breite und 4 schmale Elemente. Die Lücken zwischen den Zeichen enthalten keine Information.
Die genauen Spezifikationen enthält die Norm DIN EN 798.
Anwendungsgebiete: Bibliotheken, Fotolabors, Kliniken.
Die Informationsdichte ist relativ gering. Im Vergleich zu den 2 aus 5 Codes lassen sich außer den Ziffern noch 6 weitere Sonderzeichen darstellen.

Zeichensatz 4 Hilfszeichen: Start / Stop A..D
16 Nutzzeichen: Ziffern 0..9, Sonderzeichen - $ : / . +
Symbolaufbau Start, n Nutzzeichen, Stop
Länge variabel
Nutzzeichen 7 Elemente (2/3 breite, 5/4 schmale)
9/10 Module
Eigenschaften Zweibreitencode
Selbstüberprüfend
Diskret
Bidirektional
Informationsdichte Mittel: 0.39 bit/Modul
Platzbedarf Mittlerer Platzbedarf
Toleranzen Mittlere Toleranzanforderungen
Nachteil Verschieden breite Zeichen
Symbolprüfzeichen P = (Start° + Z1° + Z2° + Z3° + ... + Stop°) mod 16

Beispiel:

Bild gifs/codabar.gif

5.6.5 Code 39 (DIN EN 800)

Dieser Code ist ein Zweibreitencode, der 10 Ziffern, 7 Sonderzeichen und 26 (Groß-)Buchstaben darstellen kann.
Jedes Zeichen besteht aus 9 Elementen mit einer Gesamtbreite von 12 Modulen (5 Striche und 4 Lücken, 3 breite und 6 schmale Elemente). Die Lücken zwischen den Zeichen enthalten keine Information. Eine Selbstüberprüfung ist möglich.
Code 39 ist in industriellen Anwendungen weit verbreitet.
Die genauen Spezifikationen enthält die Norm DIN EN 800.

Zeichensatz 1 Hilfszeichen: Start, Stop
43 Nutzzeichen: 10 Ziffern, 26 Buchstaben, 7 Sonderzeichen
Symbolaufbau Start, n Nutzzeichen, Stop
Länge variabel
Nutzzeichen 9 Elemente (3 breite, 6 schmale)
12 Module
Eigenschaften Zweibreitencode
Selbstüberprüfend
Diskret
Bidirektional
Informationsdichte Mittel: 0.42 bit/Modul
Platzbedarf Mittlerer Platzbedarf
Toleranzen Mittlere Toleranzanforderungen
Vorteil Großer Zeichenvorrat
Symbolprüfzeichen P = (Z1° + Z2° + Z3° + ...) mod 43

Beispiel:

Bild gifs/c39.gif

5.6.6 Code 128 (DIN EN 799)

Beim Code 128 lässt sich trotz relativ geringem Platzbedarf der komplette ASCII-Zeichensatz darstellen. Die Informationsdichte ist ziemlich hoch.
Es werden drei Zeichensätze (auch kombiniert) verwendet. Die Anzahl der Zeichen ist beliebig. Bei Überschreitung der maximalen Scanbreite wird ein Verkettungszeichen eingefügt.
Jedes Zeichen (außer Stopzeichen) besteht aus insgesamt 11 Modulen (3 Striche und 3 Lücken). Jeder Strich hat eine geradzahlige, jede Lücke eine ungeradzahlige Modulbreite.
Code 128 ist in industriellen Anwendungen weit verbreitet.
Die genauen Spezifikationen enthält die Norm DIN EN 799.
Die Zeichen "Start A", "Start B" und "Start C" dienen am Symbolanfang zum Einschalten des betreffenden Zeichensatzes. Die Sonderzeichen "Code A", "Code B" und "Code C" können in Inneren zur Zeichensatzumstellung verwendet werden. Der aktuelle Zeichensatz gilt dann bis zum nächsten Umschaltzeichen. Das Sonderzeichen SHIFT schaltet nur das folgende Zeichen von Zeichensatz A in B um oder umgekehrt.
FNC1 ist für den Code EAN128 reserviert (s. Abschnitt 5.11.3: EAN 128) und folgt auf das Startzeichen.
FNC2 ("Verkettung") trennt lange Symbole in mehrere Teile und erlaubt dadurch Mehrfachlesung. Der Decoder muss dabei einen Teil des Symbols zwischenspeichern. Alle verwendeten Steuer- und Sonderzeichen werden beim Decodieren unterdrückt und nicht zum Rechner übertragen.
FNC3 bewirkt eine Initialisierung des Lesegerätes.
FNC4 zeigt an, dass das nächste Zeichen aus dem erweiterten ASCII-Zeichensatz (128 ... 255) stammt.

Zeichensatz 12 Hilfszeichen
128 Nutzzeichen: "Full-ASCII"
Symbolaufbau Start, n Nutzzeichen, Stop
Länge variabel
Nutzzeichen 6 Elemente (Elementbreiten 1, 2, 3, 4)
11 Module
Eigenschaften Mehrbreitencode
Fortlaufend
Informationsdichte Hoch 0.61 bit/Modul
Platzbedarf Niedriger Platzbedarf
Toleranzen Hohe Toleranzanforderungen: +/- 10%
Vorteil Voller ASCII-Zeichensatz
Symbolprüfzeichen P = (S° + Z1° + 2*Z2° + 3*Z3° + ... ) mod 103

Beispiel:

Bild gifs/c128.gif

5.6.7 Codefamilie SC

Die Codefamilie SC ist genormt in DIN 66236. Sie wird dort als Schrift SC für maschinelle Zeichenerkennung bezeichnet. SC steht dabei für StrichCode.
Alle Mitglieder dieser Familie besitzen folgende Gemeinsamkeiten (Die speziellen Eigenschaften der bekanntesten Ausprägungen UPC-A, UPC-E, EAN8 und EAN13 werden später dargestellt.):
  • Es werden für die darstellbaren Ziffern 0..9 vier verschiedene Zeichensätze verwendet. Sie werden mit A, B, C und D bezeichnet und lassen sich durch Spiegelung und/oder bitweise Invertierung ineinander überführen. Die Zeichensätze werden in der Norm mit den Eigenschaftspaaren "linksbündig / rechtsbündig" und "gerade Parität / ungerade Parität" charakterisiert.

  • Jedes Zeichen besteht aus 2 Strichen und 2 Lücken mit den Einzelbreiten 1, 2, 3 und 4 und einer Gesamtbreite von 7 Modulen. Diese Bedingungen werden von genau 40 Kombinationen erfüllt.

  • In der DIN 66236 Teil 1 sind insgesamt 5 Hilfszeichen definiert. Beim Aufbau des Codes werden die Balken dieser Hilfszeichen nach unten verlängert und ragen in die Klarschriftzeile hinein:

  • In der Norm sind 10 verschiedene Schriftgrößen SC0 .. SC9 definiert (Beispiel bei Code EAN 13). Auf ihre Abmessungen möchte ich hier nicht näher eingehen, sondern auf die Normblätter verweisen.


Informationsdichte Mittel: 0.48 bit/Modul
Platzbedarf Mittlerer Platzbedarf
Toleranzen Hohe Toleranzanforderungen: +/- 10%

5.6.8 CODE UPC A

Die DIN 66236 ist so abgefasst, dass sie im Teil 3 den aus USA stammenden und dort weit verbreiteten Code UPC A mit abdeckt. In dieser Norm werden Strichcodesymbole mit 4, 5, 6, 7, 8, 10, 12 oder 14 Stellen beschrieben. Die folgende Beschreibung lehnt sich an die Formulierung der Norm an:
  • Lesesymbole mit 12 Stellen bestehen aus 12 rechts- und linksbündigen Nutzzeichen ungerader und gerader Parität, aus beidseitig je einem Randzeichen und aus einem Trennzeichen zwischen den Zeichen ungleicher Bündigkeit. Für den linken Teil sind 6 rechtsbündige Nutzzeichen ungerader Parität (Zeichensatz A), für den rechten Teil linksbündige Nutzzeichen gerader Parität (Zeichensatz C) zu verwenden. Die Nummerierung der Nutzzeichen beginnt von rechts.


Zeichensatz 10 Ziffern, 1 Randzeichen, 1 Trennzeichen
Symbolaufbau R ZA ZA ZA ZA ZA ZA T ZC ZC ZC ZC ZC ZC R
  Z12 Z11 Z10 Z9 Z8 Z7   Z6 Z5 Z4 Z3 Z2 Z1  
                          =P  
Symbolprüfzeichen P (=Z1) = 10 - [(3*Z12 + Z11 + 3*Z10 + Z9 + ... + 3*Z2) mod 10]

Beispiel:

Bild gifs/upca.gif

5.6.9 CODE UPC E

Der Code UPC E benutzt ebenfalls die in DIN 66236 beschriebenen Zeichensätze, und zwar die rechtsbündigen Zeichensätze A und B. Jedes Symbol besteht aus 2 Randzeichen und 6 Nutzzeichen. Es handelt sich also streng genommen um ein 6-stelliges Symbol. In der Klarschriftzeile tauchen jedoch zwei weitere Ziffern auf und ergänzen das Symbol auf 8 Stellen. Die Ziffer ganz links ist ein (für mich rätselhaftes) "Systemkennzeichen". Die Ziffer rechts außen wird als Prüfziffer verwendet und durch den Wechsel der Zeichensätze für die Nutzziffern verschlüsselt. Die Nummerierung der Stellen beginnt von rechts mit der Prüfziffer als Stelle 1, die Nutzziffern werden mit Stelle 2 ... 7 bezeichnet. Die Verschlüsselung der Prüfziffer verwendet folgende Zuordnungstabelle:

Stelle Prüfziffer
7 6 5 4 3 2 1
B B B A A A 0
B B A B A A 1
B B A A B A 2
B B A A A B 3
B A B B A A 4
B A A B B A 5
B A A A B B 6
B A B A B A 7
B A B A A B 8
B A A B A B 9



Zeichensatz 10 Ziffern, 2 Randzeichen
Symbolaufbau R ZA/ZB ZA/ZB ZA/ZB ZA/ZB ZA/ZB ZA/ZB R
  Z7 Z6 Z5 Z4 Z3 Z2  
Symbolprüfzeichen P (=Z1) = 10 - [(Z7 + 3*Z6 + Z5 + 3*Z4 + Z3 + 3*Z2) mod 10]

Beispiel:

Bild gifs/upce.gif

5.6.10 CODE EAN8 (DIN 66236, Teil 4)

Der Code EAN8 ist ein Vertreter der SC-Familie. Sein Aufbau ist in DIN 66236 Teil 4 ("Lesesymbole mit 8 und 13 Stellen zur Darstellung der Europäischen Artikelnummer") folgendermaßen beschrieben:
Lesesymbole mit 8 Stellen bestehen aus 8 Nutzzeichen: Im linken Teil aus 4 rechtsbündigen Nutzzeichen ungerader Parität (Zeichensatz A), im rechten Teil aus 4 linksbündigen Nutzzeichen gerader Parität (Zeichensatz C), beidseitig aus je einem Randzeichen, in der Mitte aus einem Trennzeichen sowie aus einer 8-stelligen Klarschriftzeile in Schrift B nach DIN 66009 unterhalb des Lesesymbols.
Die Nummerierung der Nutzzeichen beginnt von rechts (Stelle 1 mit Prüfziffer Z1).
  • EAN8-Codesymbole unterliegen der "Internationalen Artikel-Nummerierung" und werden zentral vergeben (genaueres im Abschnitt Anwendungen). Da der Nummernvorrat begrenzt ist, werden sie nur zugeteilt für Waren, die sehr wenig Platz für ein Barcodesymbol bieten. Der Antragsteller muss dafür den Nachweis führen.


Zeichensatz 10 Ziffern, 1 Randzeichen, 1 Trennzeichen
Symbolaufbau R ZA ZA ZA ZA T ZC ZC ZC ZC R
  Z8 Z7 Z6 Z5   Z4 Z3 Z2 Z1  
                  =P  
Die Nummerierung der Nutzziffern beginnt von rechts
Das erste Zeichen von rechts (Z1) dient als Symbolprüfzeichen
Die Klarschriftzeile enthält 8 Ziffern
Symbolprüfzeichen P (=Z1) = 10 - [(3*Z8 + Z7 + 3*Z6 + Z5 + 3*Z4 + Z3 + 3*Z2) mod 10]

Beispiel:

Bild gifs/ean8.gif

5.6.11 CODE EAN13 (DIN 66236, Teil 4)

Der Code EAN13 ist der verbreitetste Vertreter der SC-Familie. Sein Aufbau wird in DIN 66236 Teil 4 ("Schrift SC, Lesesymbole mit 8 und 13 Stellen zur Darstellung der Europäischen Artikel-Nummer") folgendermaßen beschrieben:
Lesesymbole mit 13 Stellen bestehen aus 12 Nutzzeichen und einer durch Paritätswechsel dargestellten 13. Stelle: Im linken Teil aus 6 rechtsbündigen Nutzzeichen wechselnder Parität (Zeichensätze A und B), im rechten Teil aus 6 linksbündigen Nutzzeichen gleicher Parität (Zeichensatz C), beidseitig aus je einem Randzeichen, in der Mitte aus einem Trennzeichen, sowie aus einer 13-stelligen Klarschriftzeile in Schrift B nach DIN 66009 unterhalb des Lesesymbols. Die Ziffer der Stelle 13 wird nach folgender Zuordnungstabelle unter Benutzung der Zeichensätze A und B in der linken Hälfte des Symbols codiert:

Stelle Stelle
13 12 11 10 9 8 7
0 A A A A A A
1 A A B A B B
2 A A B B A B
3 A A B B B A
4 A B A A B B
5 A B B A A B
6 A B B B A A
7 A B A B A B
8 A B A B B A
9 A B B A B A



Zeichensatz 10 Ziffern, 1 Randzeichen, 1 Trennzeichen
Symbolaufbau R A/B A/B A/B A/B A/B A/B T C C C C C C R
  Z12 Z11 Z10 Z9 Z8 Z7   Z6 Z5 Z4 Z3 Z2 Z1  
                          =P  
Die Nummerierung der Nutzziffern beginnt von rechts
Das erste Zeichen von rechts (Z1) dient als Symbolprüfzeichen
Die Klarschriftzeile enthält 13 Ziffern
Symbolprüfzeichen P (=Z1) = 10 - [(Z13 + 3*Z12 + Z11 + 3*Z10 + Z9 + 3*Z8 + Z7 + ... + 3*Z2) mod 10]

Für EAN 13 sind insgesamt 10 genormte Symbolgrößen festgelegt. Sie werden mit SC0 .. SC9 bezeichnet. SC2 ist die Standardgröße mit Abmessungen von 37.29 * 26.26 mm. Ordnet man SC2 einen Vergrößerungsfaktor von 1.0 zu, kann man die Größen von 0.82 (für SC0) bis 1.97 (für SC9) variieren.
Beispiel:

Bild gifs/ean13.gif

5.6.12 Code 49

Beim Code 49 besteht ein Symbol aus 2 bis 8 gestapelten Zeilen, die von gemeinsamen Start- (1 0) und Stopzeichen (0 1 1 1) eingefasst sind. Jede Zeile besteht aus 4 Datenwörtern mit je 16 Modulen.
Die einzelnen Zeichen haben eine spezielle Codierung, benutzen also keinen der bekannten eindimensionalen Codes. Der Aufbau der Datenwörter erlaubt auch eine implizite Erkennung der Zeilennummer.
Jede Zeile wird mit einem einzelnen Prüfzeichen abgeschlossen. In der maximalen Größe lassen sich 49 Zeichen aus dem 7 bit-ASCII-Zeichensatz oder 81 Ziffern verschlüsseln.
Es handelt sich um einen kompakten Code, der flexibel an die Datenmenge angepasst werden kann. Herkömmliche Lesegeräte können verwendet werden, wenn der Dekoder softwaremäßig entsprechend ergänzt wird. Ein Nachteil ist, dass der gesamte Dateninhalt zwischengespeichert und dekodiert werden muss, bevor er zum Host übertragen werden kann.

Eigenschaften

Bezeichnung Code 49
Codestruktur spezielle Codierung mit "Datenwörtern"
Zeilenerkennung implizit in den Datenwörtern
Zeilen 2...8
Nutzdaten (max.) 81 Ziffern oder 49 ASCII-Zeichen
Start-/Stopzeichen gemeinsam über alle Zeilen
Fehlersicherung 1 Prüfzeichen /Zeile

Aufbau

Start Datenwort 1 C1 Stop
Datenwort 2 C2
... ...
... ...
Datenwort n Cn

Beispiel:

Bild gifs/code49_beispiel.gif

5.6.13 Codablock A

Dieser Code ist die Stapelvariante zum eindimensionalen Code 39. Er wird dann eingesetzt, wenn die Datenmenge für eine einzeilige Darstellung zu groß wird. Ein Symbol kann bis zu 22 Zeilen stapeln, die jeweils durch einen Zeilenindikator eingeleitet werden und jeweils 1 bis 61 Daten enthalten können. Am Ende der maximal 1342 Daten sind zwei Prüfzeichen enthalten, die nach Modulo 43 errechnet werden.
Die gemeinsamen Start- und Stopzeichen erstrecken sich über alle Zeilen und sind ebenfalls dem Code 39 entnommen.

Eigenschaften

Bezeichnung Codablock A
Codestruktur Code 39
Zeilenerkennung Zeilenindikator Zx am Zeilenanfang
Zeilen 2...22
Nutzdaten (max.) 1340 Zeichen
Start-/Stopzeichen gemeinsam über alle Zeilen
Fehlersicherung 2 Prüfzeichen /Block

Aufbau

Start Z1   Stop
Z2  
...  
...  
Zn   C1 C2

Beispiel:

Bild gifs/CodablockA_Beispiel.gif

5.6.14 Codablock F

Der Aufbau ist ähnlich wie bei Codablock A. Codablock F verwendet jedoch die Codierung des eindimensionalen Code 128 und kann bis zu 44 Zeilen stapeln.

Eigenschaften

Bezeichnung Codablock F
Codestruktur Code 128
Zeilenerkennung Zeilenindikator Zx am Zeilenanfang
Zeilen 2...44
Nutzdaten (max.) 2725 Zeichen
Start-/Stopzeichen gemeinsam über alle Zeilen
Fehlersicherung 2 Prüfzeichen /Block

Aufbau

Start Z1   Stop
Z2  
...  
...  
Zn   C1 C2

Beispiel:

Bild gifs/CodablockF_Beispiel.gif

5.6.15 Code 16K

Code 16K basiert auf einer Kombination von Code 128 und UPC, hat aber getrennte Start- und Stopzeichen für jede der bis zu 16 Zeilen pro Symbol. Jede Zeile enthält 5 ASCII Zeichen.
Bis zu 107 Symbole können aneinandergereiht werden. In diesem Fall ist eine Zeile pro Symbol für Verwaltung reserviert, was eine maximale Datenmenge von 107 * 15 * 5 = 8025 ASCII Zeichen oder 16050 Ziffern (daher der Name "16K") ergibt.
Zur Codierung der einzelnen Zeichen wird Code 128 mit inverser Zuordnung verwendet: Aus Lücken werden Striche und umgekehrt.

Eigenschaften

Bezeichnung Code 16K
Codestruktur Code 128 invertiert
Zeilenerkennung implizit in den Startzeichen
Zeilen 2...16
Nutzdaten (max.) 154 Ziffern oder 77 ASCII-Zeichen
Start-/Stopzeichen getrennt für jede Zeile
Fehlersicherung 2 Prüfzeichen /Block, modulo 107, mit unterschiedlicher Gewichtung

Aufbau

Start 1   Stop 1
Start 2   Stop 2
...   ...
...   ...
Start n   C1 C2 Stop n

Beispiel:

Bild gifs/Code16K_Beispiel.gif

5.6.16 PDF 417

PDF 417 wird noch zu den Stapelcodes gerechnet, obwohl das Erscheinungsbild schon stark einer Matrixdarstellung ähnelt. Der Code besitzt eine eigene Struktur, bei der "Codewörter" verwendet werden, baut also nicht auf einem bekannten eindimensionalen Code auf.
Jedes Codewort besteht aus 17 Modulen, die auf 4 Striche und 4 Zwischenräume aufgeteilt sind. In maximal 90 Zeilen können maximal 1108 Byte enthalten sein.
Es sind unterschiedliche Fehlerkorrekturstufen definiert, die Symbole lassen sich also an Sicherheitsanforderungen und Druckqualität anpassen. Die komplexe Codestruktur und die komfortable Fehlerkorrektur erfordern allerdings, dass das ganze Symol gelesen, zwischengespeichert und verarbeitet werden muss, bevor der Nutzinhalt an ein übergeordnetes System übertragen werden kann.

Eigenschaften

Bezeichnung PDF 417
Codestruktur spezielle Codierung mit Codewörtern
Zeilenerkennung Zeilenindikatoren Zx am Zeilenanfang und am Zeilenende
Zeilen 3...90
Nutzdaten (max.) 1000 Byte
Start-/Stopzeichen gemeinsam über alle Zeilen
Fehlersicherung 2 Prüfzeichen /Block

Aufbau

Start Z1   Z1 Stop
Z2   Z2
...   ...
...   ...
Zn   C1 C2 Zn

Beispiel:

Bild gifs/PDF417_Beispiel.gif

5.6.17 Data Matrix

Dieser Code besitzt eine variable, rechteckige Anordnung von quadratischen Punkten in Form einer Matrix. Bei quadratischer Anordnung sind Größen von 10 x 10 bis zu 144 x 144 Punkten möglich, bei rechteckiger Anordnung gibt es genau zwei Formate: 8 x 18 und 16 x 48.
Zur Erkennung der Orientierung und der Größe sind zwei Maßnahmen vorgesehen: Links und unten wird das Feld durch durchgehende schwarze Balken, rechts und oben durch abwechselnde schwarze und weiße Punkte begrenzt. Die Informationsdichte beträgt 13 Zeichen / 100 mm2.
Die Fehlerkorrekturstufe ist variabel und damit auch die Symbolgröße.

Eigenschaften

Bezeichnung Data Matrix
Prinzip Matrixanordnung aus quadratischen Modulen. Mögliche Größen minimal 10 * 10 bis maximal 144 * 144 (bei den quadratischen Versionen) und 8 * 18 oder 16 * 48 (bei rechteckiger Anordnung)
Daten max. 3116 Ziffern oder 2334    7 bit ASCII-Zeichen oder 1558    8 bit ASCII
Fehlerkorrektur Reed-Solomon; bis zu 25% Fehler korrigierbar
Dichte variabel
Position und Orientierung Dunkle Balken an 2 benachbarten Kanten, abwechselnd helle und dunkle Module an den beiden anderen Kanten
Geschichte Alte Version: ECC-000 ... ECC-140, neue Version ECC-200
Anwendung IC- und Platinenmarkierung; Symbolerstellung durch Druck, Laser, Ätzen usw.
Info ANSI/AIM BC 11 ISS - DataMatrix

Aufbau und Beispiel:

Bild gifs/datamatrix_aufbau.gif

5.6.18 Maxi Code

Auf einer konstanten Fläche von 1 Quadratzoll (25.4 x 25.4 mm) können 144 Zeichen (93 ASCII-Zeichen oder 138 Ziffern) dargestellt werden. Um ein zentrales Suchmuster aus drei konzentrischen Kreisen sind 866 Sechsecke wabenförmig in 33 Reihen angeordnet, die den Dateninhalt tragen. Um das Suchmuster sind 6 Orientierungswaben im 60°-Abstand angeordnet. Die Informationsdichte beträgt 13 Zeichen / 100 mm².

Eigenschaften

Bezeichnung Maxi Code
Prinzip Quadratische Anordnung in fester Größe von 1" * 1". Sechseckige Module, angeordnet in 33 Reihen zu je 29 oder 30 Modulen. In der Mitte sind etliche Reihen durch das Suchmuster unterbrochen, sodass insgesamt nur 866 Module für Daten zur Verfügung stehen.
Daten 93 alphanumerische Zeichen oder 138 Ziffern; reduziert durch Fehlerkorrektur
Fehlerkorrektur Reed-Solomon; bis zu 25% Fehler korrigierbar
Dichte 13 Zeichen / 100 mm2. Die Sechseckform der Module bringt 15% Dichtezuwachs gegenüber quadratischen Modulen.
Position 3 kreisförmige Ringe in Symbolmitte, das Zentrum selbst ist hell
Orientierung 6 Gruppen zu je 3 Modulen mit festem Inhalt, in 60-Grad Anordnung um den größten Ring
Geschichte Entworfen 1992
Anwendung Kennzeichnung von Paketen bei der Firma UPS
Info ANSI/AIM BC10 ISS - MaxiCode

Aufbau und Beispiel:

Bild gifs/maxicode.gif

5.6.19 Aztech Code

Dieser Code wurde entworfen, um den vollen 8 bit-ASCII Zeichensatz auf minimaler Fläche bei möglichst geringem Aufwand für Druck und Dekodierung darzustellen.
Symbolgröße, Datenmenge und Fehlerkorrektur sind variabel.

Eigenschaften

Bezeichnung Aztech Code
Prinzip Quadratische Anordnung aus quadratischen Modulen. Es stehen 32 verschiedene Größen zur Verfügung, die von 15 * 15 bis 151 * 151 Module enthalten.
Daten Maximal 3832 numerische bzw. 3067 alphanumerische Zeichen in 1914 Byte
Fehlerkorrektur Reed-Solomon; variabel von 5% bis 95% Fehler korrigierbar; Standardvorgabe 23%
Position 4 quadratische Ringe in Symbolmitte, das Zentrum selbst ist dunkel
Geschichte Entworfen 1995
Info BarcodeUSA

Aufbau und Beispiel:

Bild gifs/aztec.gif

5.6.20 Code One

Code One ist einer der ältesten Matrix-Codes und wurde schon 1991 entwickelt. Es sind acht rechteckige Versionen definiert, die mit A ... H bezeichnet werden. Dabei reicht die Modulanordnung von 18 * 16 bis 134 * 148. Jede Version kann eine festgelegte Menge an Daten aufnehmen, der Typ der Daten ist aber sehr variabel, von Ziffern über 8-bit ASCII-Zeichen bis hin zu reinen Binärdaten. Die Fehlerkorrekturrate ist für jede Version festgelegt.

Eigenschaften

Bezeichnung Code One
Prinzip Rechteckige Anordnung aus quadratischen Modulen. Es stehen 8 verschiedene Größen zur Verfügung
A 18 * 16 Module 10 ASCII-Zeichen
B 22 * 22 Module 19 ASCII-Zeichen
C 32 * 28 Module 44 ASCII-Zeichen
D 42 * 40 Module 91 ASCII-Zeichen
E 54 * 52 Module 182 ASCII-Zeichen
F 76 * 70 Module 370 ASCII-Zeichen
G 98 * 104 Module 732 ASCII-Zeichen
H 134 * 148 Module 1480 ASCII-Zeichen
Daten Obige Tabelle gilt für "Full-ASCII". Bei alphanumerischen Zeichen kann eine um den Faktor 1.5, bei rein numerischen Daten um den Faktor 2.4 höhere Anzahl von Zeichen untergebracht werden.
Fehlerkorrektur Fest vorgegeben für jede Stufe
Position Durchgehende waagrechte und senkrechte Streifen in Symbolmitte
Geschichte Entworfen 1991
Anwendung Etikettierung von Medikamenten, Recycling-Container
Info AIM X5-8 Uniform Symbol Specification - CodeOne

Beispiel:

Bild gifs/Code1_Beispiel.gif

5.7   Erfassung

Sichtet man Kataloge für Barcode-Lesegeräte, wird man vom Variantenreichtum und den technischen Daten der Gerätetypen nahezu erschlagen. In der Praxis werden jedoch kaum einzelne Lesegeräte von einem Endanwender gekauft, sondern meistens als OEM-Produkte in ein System integriert, das für einen speziellen Anwendungsfall ausgelegt ist. Systemplaner und Gerätehersteller suchen dann gemeinsam nach einem passenden Typ.
Nun aber trotzdem der Versuch, einige Schneisen in den Dschungel zu schlagen. Die Tabelle der wichtigsten Grundtypen wurde nach folgenden Hauptkriterien zusammengestellt:
  • Geräteform: Stift, Schlitz, Rechen, Pistole, Kasten
  • Anwendung: mobil, stationär
  • Sender: LED, Laser, externe Lichtquelle
  • Empfänger: Fototransistor, CCD-Zeile, CCD-Matrix
  • Strahlform: Punkt, Linie, Raster, omnidirektional, flächig
Weitere Parameter können bei den einzelnen Anwendungsfällen eine Rolle spielen, auf die jedoch aus Gründen der Übersichtlichkeit nicht weiter eingegangen wird:
  • Betriebsspannung, Stromaufnahme
  • Lesegeschwindigkeit
  • Kontrastbereich der Vorlage
  • Auflösungsbereich der Vorlage

Typ Form Anwend. Sender Empfänger Strahl Entfernung
Lesestift Stift mobil LED rot/IR Foto- transistor Punkt 0 (/10mm)
Schlitzleser Schlitz stationär LED rot/IR Foto- transistor Punkt 0
Touchscanner Rechen mobil LED- Zeile CCD Flächig 0..20 mm
Kontaktlose Leser Pistole mobil LED rot/IR Foto- transistor Punkt 80..160 mm
Laserpistole Pistole (Rechen) mobil Laser Foto- transistor Linie >600 mm
POS-Scanner Tisch stationär Laser Foto- transistor Linie, Raster, Omni- direktional mittel
Arbeitsplatz- scanner Obertisch stationär Laser Foto- transistor Linie mittel
Feststrahl- scanner Kasten stationär Laser Foto- transistor Punkt mittel
Ablenkstrahl- scanner Kasten stationär Laser Foto- transistor Linie, Raster, Omni- direktional groß
Kamera- Scanner Kasten stationär extern CCD Flächig mittel/groß

  • Lesestifte (engl. "Barcode wand") werden immer mobil eingesetzt. Der Bediener setzt den Stift leicht schräg auf die Vorlage und bewegt ihn möglichst gleichmäßig über alle Striche des Symbols. Als Lichtquelle dient eine rote oder infrarote LED, deren Licht durch eine Optik so gebündelt wird, dass wenige Millimeter vor der Stiftspitze (deshalb auch das schräge Aufsetzen) ein möglichst kleiner Punkt entsteht. Das reflektierte Licht wird von derselben Optik auf einen Fototransistor gelenkt, der daraus einen von der Lichtstärke abhängigen Spannungspegel erzeugt. Die Abtastbewegung über das Codesymbol erzeugt so einen seriellen elektrischen Impulszug.

  • Schlitzleser werden meistens zur Zugriffskontrolle eingesetzt. Der Bediener schiebt eine Karte mit aufgedrucktem Barcode durch den Schlitz eines Lesers und damit in einem definierten Abstand vor der stationären Abtasteinrichtung vorbei. Diese besteht wie beim Lesestift aus LED, Optik und Fototransistor.

  • Handscanner (oder Touchscanner) sind ebenfalls mobile Geräte, die bei kleinen Leseabständen von 0..20 mm arbeiten. (Es ist sicher ein Gerücht, dass der erste Prototyp aus einer umgebauten Haarschneidemaschine entstanden ist, aber gewisse Ähnlichkeiten sind unverkennbar).
    Das Gerät enthält meistens eine eingebaute LED-Zeile, die das Lesefeld möglichst gleichmäßig ausleuchten soll. Das reflektierte Licht des gesamten Symbols wird dabei gleichzeitig von einer CCD-Zeile aufgenommen. Eine Relativbewegung zwischen Leser und Objekt findet deshalb nicht statt. Der Lesevorgang wird dadurch schneller und sicherer, es können jedoch keine beliebig breiten Symbole gelesen werden.

  • Kontaktlose Leser haben die Form einer Pistole. Sie arbeiten ebenfalls mit einem LED-Fototransistor-System. Die Optik ist jedoch so ausgelegt, dass ein möglichst großer Schärfentiefebereich bei mittleren Entfernungen von ca. 80..160 mm entsteht. Auch hier muss der Abtaststrahl von Hand über das Symbol bewegt werden.

  • Laserpistolen haben, wie schon der Name sagt, ebenfalls Pistolenform. Die Lichterzeugung durch eine Laserdiode erlaubt jedoch größere Leseentfernungen bis zu einigen Metern. Das reflektierte Licht wird ebenfalls von einem Fototransistor in ein elektrisches Signal gewandelt. Bei diesen Entfernungen ist eine Abtastbewegung von Hand nicht mehr praktikabel. Das Gerät hat deshalb ein schwingendes oder rotierendes Spiegelsystem eingebaut, das den Lichtstrahl in einer Linie über das Symbol führt. Geräte mit diesem Abtastsystem heißen Scanner.
    Die folgende Gruppe der stationären Lesegeräte ist ausgelegt für eine automatisierte Erfassung der Barcode-Daten. Ansonsten sind aber die gleichen Abtastmethoden vertreten wie bei den mobilen Geräten.

  • Feststrahlscanner fokussieren das Licht einer LED (auch Laser denkbar) in mittlerer Entfernung. Dort werden die zu identifizierenden Objekte durch eine Fördereinrichtung in definierter Entfernung mit definierter Geschwindigkeit durch den Abtaststrahl bewegt.

  • Arbeitsplatzscanner bestrahlen von oben einen Teil einer Tischplatte. Zur Erfassung werden die Objekte von Hand auf den markierten Bereich des Tisches positioniert. Die Abtasteinrichtung erzeugt durch Spiegel aus dem Laserstrahl (LEDs sind auch denkbar) eine Linie, die das Symol in mittlerer Entfernung abtastet.

  • Ablenkstrahlscanner sind für größere Leseentfernungen ausgelegt. Je nachdem wie definiert Position und Orientierung der abgetasteten Symbole sind, werden mehr oder weniger aufwändige Ablenkverfahren eingesetzt. In Erweiterung der schon erwähnten linienförmigen Ablenkung werden bei der Rasterablenkung mehrere parallele Linien erzeugt. Ein vertikaler Versatz des Musters kann damit ebenso kompensiert werden wie kleinere Fehlerstellen. Wird dieses Ablenkraster nacheinander in verschiedenen Drehwinkeln erzeugt, spricht man von omnidirektionaler Abtastung. Damit können Symbole mit praktisch beliebiger Orientierung erfasst werden.

  • P.O.S.-Scanner sind eine Sonderform der Ablenkstrahlscanner. Sie sind in die Kassentische ("Point Of Sale") von Supermärkten eingebaut und scannen die Objekte von unten oder seitlich durch eine transparente Scheibe. Eine omnidirektionale Abtastung ist obligatorisch.

  • Kamera-Scanner sind stationäre Videokameras, die als Aufnahmeeinrichtung eine CCD-Matrix enthalten. Beleuchtet werden die Symbole durch eine externe Lichtquelle. Sie sind aufwändiger als Laserscanner, kommen jedoch mit noch widerspenstigeren Barcode-Mustern zurecht. Oft werden sie eingesetzt, wenn noch andere optische Eigenschaften des Objekts erkannt werden müssen, für die Bilderfassung und -verarbeitung sowieso nötig sind.

5.8   Decodierung

Für die Weiterverarbeitung der seriellen Impulsfolge und die Umwandlung in ASCII-Zeichen stehen inzwischen mehrere integrierte Bausteine zur Verfügung. Diese können je nach Platzangebot und Komplexität im Gehäuse des Lesegerätes, in einer speziellen Auswerteeinheit oder auf einer Karte des weiterverarbeitenden Rechners untergebracht sein. Beim Anschluss z. B. eines Lesestifts an eine Tastatur kann auch diese den Decoder enthalten. Die meisten Decoder-ICs können mehrere der gebräuchlichsten Codes verarbeiten. Manche können sie automatisch erkennen, manche müssen voreingestellt werden. Unterscheiden sich Startzeichen von links gelesen und Stopzeichen von rechts gelesen, kann das Muster in beiden Leserichtungen erkannt werden, unabhängig davon, ob es normal oder kopfstehend orientiert ist. Auch wenn die Erstlesung nicht zur Erkennung führt, bietet der Rückweg eine weitere Chance. Es gibt Lesestifte, die autonom arbeiten ("Memory-wand"). Sie haben Decoder, Speicher und Stromversorgungs-Akku im Stiftgehäuse eingebaut und können mehrere tausend Symbole lesen, bevor sie diese über eine optische Schnittstelle an den Auswerterechner übertragen.

5.9   Fehlersicherung

Durch folgende Effekte können die dargestellten Informationen beim Einlesen verfälscht werden:
  • Schlechter Kontrast
  • Fehlstellen, Verschmutzung, ausgefranste Striche
  • Drucktoleranzen
  • Defokussierung
  • Geschwindigkeitsänderungen
  • Abtastung am Rand des Barcodefeldes
  • Schräge Abtastung läuft aus dem Feld
  • Gewölbte und verformte Oberflächen
  • Spiegelnde Oberflächen
Der Decoder muss in der Lage sein, verfälschte und gültige Codeblöcke zu unterscheiden, um nur die gültigen zum Auswerterechner zu übertragen. Es werden hauptsächlich zwei Verfahren, einzeln oder kombiniert, verwendet, um dem Code die zur Fehlersicherung nötige Redundanz zuzufügen:
  • Selbstüberprüfung kann angewendet werden, wenn jedes Zeichen des Codes bestimmte Bedingungen erfüllen muss, die bei Störungen nicht mehr eingehalten werden können. Ein Beispiel wäre die konstante Summe der schwarzen Module eines Zeichens.

  • Prüfziffernberechnung: An den eigentlichen Code wird eine zusätzliche Prüfziffer angehängt und mitgedruckt, die sich nach einem festgelegten Algorithmus aus den Nutzziffern (oder Nutzzeichen) errechnet. Bei der Decodierung wird diese Prüfziffer ebenfalls berechnet und mit der gelesenen verglichen. Nur bei Übereinstimmung wird der Codeblock übertragen.

Einige wichtige Definitionen:

Fehlerrate = Fehlerhafte Leseversuche / Gesamtzahl aller Leseversuche
Fehllesung Lesung entspricht nicht dem gedruckten Code
Substitutionsfehler Ein einzelnes Zeichen wird so verfälscht, dass ein anderes gültiges Zeichen erkannt wird
Mehrfachlesung Erfassung überbreiter Symbole durch mehrere Lesevorgänge

5.10   Übertragung, Schnittstellen

Zum Anschluss an den weiterverarbeitenden Rechner werden verschiedene Schnittstellen benutzt:
Serielle Schnittstellen nach RS 232, RS 422 und RS 485 (s. Kap. 10) benötigen ein spezielles Treiberprogramm zur Weiterleitung der seriellen Daten ins Anwendungsprogramm.
Das gleiche gilt für optische Übertragung, unabhängig ob eine herstellerspezifische oder die inzwischen genormte IrDA-Schnittstelle verwendet wird. Werden die Zeichen im Format und über die Schnittstelle der Tastatur übertragen, sehen sie für den Rechner wie Tastatureingaben aus und benötigen keinen weiteren Treiber. Die Lesegeräte können dabei statt einer Tastatur, zusammen mit der Tastatur über eine Tastaturweiche oder direkt an der Tastatur angeschlossen sein, wobei ihre Signale wie Tastenbetätigungen an den Rechner weitergegeben werden.
Daneben sind noch eine ganze Reihe herstellerspezifischer Schnittstellen in Gebrauch, die für geringen Aufwand, kurze Übertragungszeiten oder hohe Zuverlässigkeit entwickelt wurden.

5.11   Auswertung, Anwendungen

Die Barcodetechnik ist weitverbreitet. Es ist daher unmöglich, alle Einsatzfälle erschöpfend zu behandeln. Deshalb hier nur einige exemplarische Beispiele:

5.11.1 Allgemeine Anwendungsfelder

    Personenidentifikation

In vielen Bereichen können zur Zugangskontrolle statt Magnetkarten auch Barcode-bedruckte Karten eingesetzt werden. Sie bieten dann Vorteile, wenn mit Störungen durch magnetische Felder gerechnet werden muss. Ihr größter Vorteil ist auch gleichzeitig ihr größter Nachteil: So einfach und billig Barcodekarten hergestellt werden können, so einfach können sie natürlich auch gefälscht werden.

    Ausleihe

In allen Bereichen, in denen Gegenstände ausgeliehen werden, und wo eine mit mäßigem Aufwand herstellbare Fälschung nicht befürchtet werden muss, kann es sinnvoll sein, diese Gegenstände und eventuell auch Berechtigungsausweise für den Kreis der Ausleiher mit Barcodes zu versehen. Ausleihe, Rückgabe und Inventur lassen sich dadurch wesentlich rationeller durchführen. In Betracht kommen Bibliotheken, Videotheken, Material- und Werkzeugausgabe in Firmen, Verleih von Sportgeräten usw.

    Industrie

Bauteile müssen vor der Montage eindeutig identifiziert werden. Durch den Einsatz der Barcodetechnik lässt sich dieser Vorgang automatisieren und mit weniger Fehlern durchführen. In einzelnen Bereichen ist die Automatisierung inzwischen so weit fortgeschritten, dass von der Anlieferung der Einzelteile bis zur Verpackung der Endprodukte Menschen nur noch eingreifen, um Abweichungen festzustellen und Störungen zu beheben.

    Lagerhaltung und Logistik

Speditionen, die große Mengen unterschiedlicher Waren verschiedener Hersteller lagern, müssen Bestellungen ihrer Kunden schnell und fehlerfrei bearbeiten können. Bei der Kommissionierung der Waren (Paletten aus Hochregallagern oder Tablettenschächtelchen aus Schubladen) kann durch Barcodetechnik die Zeit verkürzt und die Fehlerrate verringert werden. Weniger gängige Artikel, die der Buchhändler oder Apotheker nicht vorrätig hat, können so auf Bestellung in kürzester Zeit beschafft werden.

    Medizin

Im gesamten Bereich der Medizin- und Labortechnik wird der Barcode CODABAR verwendet. Zunächst werden Medikamente und Laborproben damit identifiziert. Bei fortschreitendem Computereinsatz in der Arztpraxis ist der Tag nicht mehr fern, an dem der Apotheker das Rezeptformular in ein Lesegerät legt, damit kurz darauf das garantiert richtige Medikament auf den Ladentisch purzelt. Natürlich zeigt der Computer auch noch die krankenkassen-, patienten- und medikamentenabhängige Zuzahlung an. Die fachmännische Diskussion über die "25. Gesundheitsreform" bleibt jedoch nach wie vor den betroffenen Menschen vorbehalten.

    Warenverkehr, Transport

Im gesamten Stückgutverkehr, also etwa bei Speditionen und Paketzustelldiensten, ist die Barcodetechnik nicht mehr wegzudenken. Leider hatten viele Leute fast gleichzeitig die Idee, Barcodes auf diesem Gebiet einzusetzen. Deshalb sind auch viele unterschiedliche Systeme und Codes im Einsatz. Einer Vereinheitlichung stehen die getätigten Investitionen und die Kosten für die Umstellung entgegen. Ein System müsste also beträchtliche Vorteile bieten, um auf breiter Basis eingesetzt zu werden.
Ein Kandidat mit guten Chancen, sich durchzusetzen, ist der sogenannte EAN-Code 128. Es handelt sich dabei nicht um eine neue Codetabelle (vielmehr wird der altbekannte Code 128 verwendet), sondern um eine komplette Anwendung. Ähnlich wie beim Code EAN 13 für die Warenkennzeichnung im Supermarkt werden hier Nummern zentral verwaltet und vergeben. Neu ist hier, dass mehr als eine Eigenschaft oder Kategorie eines Objekts verschlüsselt werden kann. In einem Header, dessen festgelegte Bedeutung einer zentralen Liste entnommen werden kann, und der natürlich mitcodiert wird, wird bestimmt, welche Eigenschaft durch die folgenden Codezeichen beschrieben wird: also z.B. Warentyp, Hersteller, Bestimmungsort, Mindesthaltbarkeit, Gewicht usw. Vom "normalen" Code 128 unterscheidet sich EAN 128 durch die Verwendung des Zeichens FNC1, das unmittelbar auf das Startzeichen folgt und für die internationalen Organisationen EAN und UPCC reserviert ist.

5.11.2 Organisationen

Zu einer Anwendung gehört immer auch die Bedeutung der decodierten Zeichen. Eine reine Ziffernfolge 313970115 ist eigentlich ebenfalls eine Codierung, der man nicht ansieht, ob sie für das Produkt 70115 (kariesfördernde Zahnpasta) des Herstellers 3139 (Konzern xy) oder für Lieferschein-Nummer 313 vom 15.01.97 steht.
Jede Anwendung braucht deshalb eine übergeordnete Organisation, die die Bedeutung der "decodierten" Information und die Reaktion auf den Lesevorgang festlegt. Bei reinen Insellösungen kann dies z.B. der Bibliothekar sein, der durch Verschlüsselung von Buchnummern und Benutzernummern den Ausleihe- und Rückgabevorgang beschleunigen möchte.
Sollen Barcodes allerdings firmenübergreifend verwendet werden, muss es eine zentrale Organisation geben, die die Koordination, wie z.B. die Vergabe von Nummern übernimmt und soweit nötig, Normungsaufgaben wahrnimmt.
Die beiden größten existierenden Organisationen sind:
  • UPCC (Uniform Product Code Council) für die USA und Kanada. UPC (Universal Product Code) ist das von dieser Organisation verwaltete Barcodesystem. Die Codes werden in den Ausprägungen UPC-A und UPC-E verwendet.

  • EAN (European Article Numbering Organisation) verwaltet das gleichnamige Nummernsystem mit den Codeausprägungen EAN 13, EAN 8 und EAN 128. Das EAN-System ist allerdings inzwischen weltweit verbreitet und die Organisation umbenannt in International Article Numbering Organisation. CCG (Centrale für Coorganisation GmbH) in Köln ist die deutsche Unterorganisation von EAN.

5.11.3 Spezielle Codes für einzelne Anwendungsbereiche

5.11.3.1 EAN 128 (Barcode im Logistikbereich)

Dieser Code ist eigentlich kein Code im eigentlichen Sinn, sondern eine spezielle Anwendung des Code 128. Sie ist dadurch gekennzeichnet, dass als erstes Zeichen nach dem Startzeichen FNC1 erscheint.
Die Nutzung dieser Zeichenkombination ist für EAN und UCC vorbehalten.
Die Codefolge darf bis zu 48 Zeichen (bzw. 165 mm) lang sein. Sie kann mehrere Dateninhalte enthalten, jeweils bestehend aus einem 2 - 4 stelligen Datenbezeichner und einem Nutzinhalt. Der Datenbezeichner enthält implizit, ob der Nutzinhalt konstante oder variable Länge besitzt. Bei variabler Länge muss ein Dateninhalt vom nächsten durch ein FNC1-Trennzeichen getrennt werden. Die folgende Tabelle zeigt einige Beispiele für definierte Dateninhalte:

00 Nummer der Versandeinheit fix = 18 num
01 EAN der Handelseinheit fix = 14 num
10 Losnummer var ...20 alphanum
11 Herstellungsdatum (JJMMTT oder JJMM00) fix = 6 num
13 Packdatum (JJMMTT oder JJMM00) fix = 6 num
15 Mindesthaltbarkeitsdatum (JJMMTT oder JJMM00) fix = 6 num
17 Verfalldatum (JJMMTT oder JJMM00) fix = 6 num
20 Produktvariante fix = 6 num
3000 Menge /Stück   fix = 8 num
310x Nettogewicht /kg x=Komma fix = 6 num
311x 1. Dimension (Länge) /m x=Komma fix = 6 num
312x 2. Dimension (Breite/Durchmesser) /m x=Komma fix = 6 num
313x 3. Dimension (Höhe) /m x=Komma fix = 6 num
314x Fläche /m² x=Komma fix = 6 num
315x Volumen /l x=Komma fix = 6 num
316x Volumen /m³ x=Komma fix = 6 num
400 Bestellnummer des Empfängers var ...30 alphanum
410 Lieferung an [Betriebsnummer Empfänger] fix = 13 num
411 Rechnung an [Betriebsnummer Rechnungsempfänger] fix = 13 num
412 Lieferung von [Betriebsnummer Lieferant] fix = 13 num
420 Lieferung nach [PLZ] var ...9 alphanum

5.11.3.2 EAN 13 (Barcodes im Supermarkt )

Werden alle Waren mit Barcodes versehen, lassen sich beträchtliche Rationalisierungseffekte erzielen. Inzwischen wird bei den meisten Produkten ein EAN 13-Barcode schon vom Hersteller aufgebracht. Die Preisauszeichnung kann am Regal angebracht sein statt auf dem Produkt. Bei Preisänderungen kann sie dann schneller aktualisiert werden. Beim Kassiervorgang wird eine beträchtliche Beschleunigung erzielt, wenn die Kassen entsprechend mit Lesegeräten ausgestattet sind. Handliche, bedruckbare Gegenstände (Dosen, Päckchen) werden über den POS-Scanner geführt, unhandliche (Holzbalken) mit dem Handleser identifiziert und nicht bedruck- und beklebbare (Salat) über den Handleser aus einer Liste entnommen. Als Nebeneffekt fallen eine verbesserte Bestandsverwaltung und eine Warenflussstatistik ab. Auch die Inventur lässt sich durch den Einsatz mobiler Lesegeräte wesentlich vereinfachen.
Die Kassenbons lassen sich ohne wesentlichen Mehraufwand mit der Warenbezeichnung ausdrucken. Die Auffrischung der in der Kasse gespeicherten Preisliste kann zentral über Datenfernübertragung erfolgen, auch für mehrere Filialen gleichzeitig.
EAN-Codesymbole unterliegen der "Internationalen Artikel-Nummerierung" (früher Europäische Artikelnummerierung EAN). Die Stellen 12 und 13 werden von der EAN-Zentrale in Brüssel festgelegt, die Stellen 7-11 von einer nationalen Organisation verwaltet und zugeteilt (in Deutschland CCG in Köln). Die Stellen 2-6 vergibt jeder Hersteller für seine Produkte.
Die folgende Tabelle zeigt den einheitlichen semantischen Aufbau eines EAN-Symbols:

Stelle 13 12 11 10 9 8 7 6 5 4 3 2 1
Bedeutung Vorziffern (Land) Bundeseinheitliche Betriebsnummer (bbn) Interne Artikelnummer Prüf
Vergabe EAN- Zentrale CCG (Deutschland) Hersteller  
Beispiel 4 0 1 2 3 4 5 0 0 4 1 5 1

Die folgende Tabelle listet einige Länderkennzeichen auf.

00..09 USA, Kanada 690..691 China
20..29 Interne Nummerierungen 729 Israel
30..37 Frankreich 73 Schweden
40..44 Deutschland 76 Schweiz
46 Russland 80..83 Italien
45 + 49 Japan 84 Spanien
50 Großbritannien 87 Niederlande
520 Griechenland 880 Korea
54 Belgien, Luxemburg 90..91 Österreich
57 Dänemark 977 Zeitschriften (ISSN)
590 Polen 978..979 Bücher (ISBN)

In USA ist EAN kaum im Einsatz. Die Codierung der 13. Stelle ist jedoch so gewählt, dass der Code UPC A eine Untermenge von EAN 13 mit Z13=0 darstellt. Lediglich die Klarschriftzeile ist anders aufgebaut.

5.11.3.3 EAN 13 + EAN 5 + EAN 2 (Barcodes für Druckwerke)

Auch für Druckwerke wie Bücher und Zeitschriften kommt der Code EAN 13 zum Einsatz. Die schon vorher international genormte ISBN kann eindeutig in EAN 13 umcodiert werden, indem ihr die drei Ziffern 978 vorangestellt werden. Die Prüfziffer des ISBN wird allerdings entfernt und durch eine EAN-Prüfziffer ersetzt.
Ergänzungen sind als sogenannte Add-On-Zusatzcodes genormt:
  • EAN-5 kann bei Büchern den Preis aufnehmen, gebildet aus Währungseinheit und Betrag.

  • EAN-2 dient bei Zeitschriften zur Angabe der Heftnummer.

5.11.3.4 MaxiCode für UPS Paketdienst

Der zweidimensionale "MaxiCode" wurde speziell zur Kennzeichnung von Paketen entwickelt, die von der Firma UPS ("United Parcel Service") befördert werden.
Der Code bietet sieben verschiedene Betriebsarten, die als Mode 0 bis Mode 6 bezeichnet und mit 4 bit codiert werden: In allen Betriebsarten ist der Inhalt in 2 Nachrichten ("Messages") und 3 Segmente (zur effizienteren Fehlerkorrektur) aufgeteilt.
  • Mode 0 und Mode 1 sind veraltet und nur noch aus Kompatibilitätsgründen vorhanden.

  • Mode 4 bietet Platz für 93 Zeichen beliebigen Inhalts.

  • Mode 5 kann nur 77 beliebige Zeichen enthalten und verwendet eine verbesserte Fehlerkorrektur.

  • Mode 2 und 3 sind für UPS reserviert. Ihre Primärnachricht ("Primary Message") in Segment 1 enthält eine "Structured Carrier Message", bestehend aus Postleitzahl, Länderkennung und Serviceklasse. Bei Mode 2 ist die PLZ rein numerisch und aufgeteilt in Länge (9 bit) und Inhalt (27 bit), bei Mode 3 ist sie alphanumerisch und mit 36 bit codiert. Dies ergibt folgende Symbolstruktur:


Primary Message Segment 1 Mode 4 bit 120 bit
Postleitzahl 36 bit
Länderkennung 10 bit
Serviceklasse 10 bit
Fehlerkorrektur 60 bit
Secondary Message Segment 2 Standardkorrektur   744 bit
  42 Zeichen für Daten 252 bit
  20 Zeichen Fehlerkorrektur 120 bit
Erweitert  
  32 Zeichen für Daten 192 bit
  30 Zeichen Fehlerkorrektur 180 bit
Segment 3 Standardkorrektur  
  42 Zeichen für Daten 252 bit
  20 Zeichen Fehlerkorrektur 120 bit
Erweitert  
  32 Zeichen für Daten 192 bit
  30 Zeichen Fehlerkorrektur 180 bit
Summe   864 bit 864 bit 864 bit

5.11.3.5 Identcode und Leitcode (Deutsche Post)

Code 2 aus 5 interleaved wird von der Deutschen Post zur Kennzeichnung von Sendungen eingesetzt. Er besteht meistens aus zwei Teilen:
Der 12-stellige Identcode enthält Informationen über den Absender (Abgangsfrachtpostzentrum, Kundenkennung und Einlieferungsnummer). Der Identcode erlaubt eine Verfolgung der Sendung von der Annahme bis zur Auslieferung. Die Kundennummer wird von der Post AG zentral vergeben und besteht je nach Anliefervolumen des Kunden aus bis zu fünf Ziffern.
Der 14-stellige Leitcode enthält Informationen über das Ziel: Postleitzahl, Straßenkennzahl, Hausnummer und Produktcode.
Von anderen Anwendungen dieses Codes unterscheiden sich Identcode und Leitcode durch die unterschiedliche Herleitung der Prüfziffer. Statt Gewichtung 1 und 3 werden die Gewichte 4 und 9 für die einzelnen Stellen verwendet. (Beim 2 aus 5 interleaved werden ja bekanntlich alle ungeraden Stellen mit Strichen, alle geraden Stellen mit Lücken dargestellt.) In der optionalen Klarschriftzeile werden die einzelnen Bestandteile durch Punkte voneinander getrennt, die Prüfziffer wird mit Abstand angefügt.
Bei gemeinsamer Verwendung muss der Identcode zuerst kommen, also über oder links vom Leitcode.

    Identcode



Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8 Z9 Z10 Z11 Z12
Abgangs- frachtpost- zentrum Kundenkennung (1..5 Ziffern) Einlieferungsnummer (8..4 Ziffern) Prüfziffer
Z12 = 10 - [(4*Z1 + 9*Z2 + 4*Z3 + 9*Z4 + 4*Z5 + 9*Z6 + ..... + 4*Z11) mod 10]

    Leitcode



Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8 Z9 Z10 Z11 Z12 Z13 Z14
Postleitzahl Straße Hausnummer Produkt Prüfz.
Z14 = 10 - [(4*Z1 + 9*Z2 + 4*Z3 + 9*Z4 + 4*Z5 + 9*Z6 + ..... + 4*Z13) mod 10]