# Codabar

Die Kodierung Codabar stellt einen beschränkten alphanumerischen Zeichensatz zur Verfügung. Es wird empfohlen, statt Codabar GTIN oder Code128 einzusetzen, er findet heutzutage nur noch in Bibliotheken und Labors im Gesundheitswesen Verwendung.

## Geschichte und Hintergrund

Codabar wurde 1972 von Pitney Bowes entwickelt und so konzipiert, dass er auch beim Drucken auf Punktmatrix- und Pralldruckern genau gelesen werden kann. Während Pitney Bowes den ursprünglichen Standard für Codabar veröffentlicht hat, gibt es nun andere Standards, die leicht variieren, beispielsweise den ANSI/AIM-BC3-1995 Uniform Symbology Specification for Codabar Standard, welcher 1995 veröffentlicht wurde.
Die ursprüngliche Pitney Bowes-Norm sah die Kodierung von numerischen Ziffern und den Buchstaben A, B, C und D für Start- und Stoppzeichen vor. Spätere Normen fügten sechs Symbole (Minuszeichen, Doppelpunkt, Punkt, Dollarzeichen, Schrägstrich und Pluszeichen) und vier zusätzliche Start- bzw. Stoppzeichen hinzu. Für Start und Stopp müssen verschiedene Zeichen verwendet werden, die nicht im Datenteil des Barcodes erscheinen dürfen. Eine gängige Konvention bei der Verwendung von Codabar ist die Verwendung verschiedener Start-/Stoppzeichenpaare zur Kennzeichnung unterschiedlicher Anwendungen (z. B. Bibliotheken verwenden A/B, FedEx verwendet C/D).
Codabar kann eine variable Länge besitzen, wobei die einzige Begrenzung die Breite ist, die für den Druck zur Verfügung steht. Die Daten im Barcode werden linear durch diese schwarz-weißen (bar/space) Muster dargestellt, wobei jedes Zeichen aus 4 schwarzen Strichen und drei Leerzeichen besteht. Zeichen können nicht mit einem Leerzeichen beginnen, sondern müssen mit einem vertikalen Strich beginnen.

## Zeichensatz

Codabar wird mithilfe von 4 vertikalen Strichen und 3 Leerzeichen, insgesamt also 7 Zeichen, kodiert. Das Verhältnis schmal zu breit liegt zwischen 1:2,25 und 1:3. Außerdem gelten folgende Regeln:
* Die 12 Grundsymbole (Ziffern 0–9, Bindestrich und $) werden mit allen möglichen Kombinationen aus einem breiten Balken und einem breiten Leerzeichen kodiert.
* Weitere 4 Symbole (:/+.) werden mit 3 breiten Balken und ohne große Zwischenräume kodiert.
* 4 Start- und Stoppsymbole (ABCD oder in einigen Spezifikationen EN*T) werden mit einem breiten Balken und zwei breiten Zwischenräumen kodiert.
Grundsymbole :
| Leerzeichen | Striche | Striche | Striche | Striche | Striche | Striche | Striche | Striche |
| Leerzeichen | 0001 | 0001 | 0010 | 0010 | 0100 | 0100 | 1000 | 1000 |
| 001 | 0 | lll l | 1 | lll l | 4 | lll l | 5 | lll l |
| 010 | 2 | ll ll | – | ll ll | $ | ll ll | 9 | ll ll |
| 100 | 6 | l lll | 7 | l lll | 8 | l lll | 3 | l lll |
Start- und Stoppsymbole :
| Leerzeichen | Striche | Striche | Striche | Striche | Striche | Striche | Striche | Striche |
| Leerzeichen | 0001 | 0001 | 0010 | 0010 | 0100 | 0100 | 1000 | 1000 |
| 011 | C or * | ll l l | D or E | ll l l | A or T | ll l l | (reverse B/N) | (reverse B/N) |
| 110 | B or N | l l ll | (reverse A/T) | (reverse A/T) | (reverse D/E) | (reverse D/E) | (reverse C/*) | (reverse C/*) |
Erweiterungssymbole :
| Leerzeichen | Striche | Striche | Striche | Striche | Striche | Striche | Striche | Striche |
| Leerzeichen | 1110 | 1110 | 1101 | 1101 | 1011 | 1011 | 0111 | 0111 |
| 000 | . | llll | / | llll | : | llll | + | llll |