Codabar - Encoding

Encoding

Each character comprises 7 elements, 4 bars and 3 spaces, and is separated from adjacent characters by an additional narrow space. Each can be either narrow (binary value 0) or wide (binary value 1). The width ratio between narrow and wide can be chosen between 1:2.25 and 1:3. The minimum narrow width varies with the specification, with the smallest being 0.0065 inches (0.165 mm), allowing 11 digits per inch to be encoded.

The characters are divided into three groups, based on the number of wide elements:

  1. The basic 12 symbols (digits 0–9, dash, and $) are encoded using all possible combinations of one wide bar and one wide space.
  2. An additional 4 symbols (:/+.) are encoded using 3 wide bars and no wide spaces.
  3. 4 start/stop symbols (ABCD, or EN*T) are encoded using one wide bar and two wide spaces.

The original Pitney-Bowes specification actually varies the narrow:wide width ratio to make all characters the same width. That is, characters with 2 wide elements use a 3:1 ratio, while characters with 3 wide elements use a 2:1 ratio, so all characters are 10 narrow elements wide (plus the inter-character space makes 11). "Rationalized codabar" uses a fixed ratio and allows the character widths to vary.

Depending on the particular specification, for example the Association for Automatic Identification and Mobility's Uniform Symbol Specification, the body of a Codabar string may only encode the numerals 0 through 9. Some variants allow the symbols dollar, dash, plus sign, colon, slash, and dot.

The alphabet characters A, B, C, D (in some specifications, E, N, asterisk, and T) are used to mark the beginning and end of the barcode. They do not appear in the body of a Codabar string. The 16 possible combinations of start and stop symbol may be used to distinguish different applications. For example the library bar code illustrated begins with A and ends with B. FedEx tracking number barcodes, on the other hand, begin with C and end with D.

Codabar symbols
Spaces Bars
0001 0010 0100 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
011 C or * ll l l D or E ll l l A or T ll l l (reverse B/N)
110 B or N l l ll (reverse A/T) (reverse D/E) (reverse C/*)
1110 1101 1011 0111
000 . llll / llll : llll + llll

Although there are 12 combinations of one wide bar (4 choices) and two wide spaces (3 choices), the start/stop codes are limited in two ways:

  1. The wide spaces are required to be adjacent (so only 011 and 110 are allowed; 101 is not), and
  2. The reversed forms of the valid codes are not valid, to identify the direction in which to read the code.

Read more about this topic:  Codabar