12
Code 128 Specifications
Description
Each symbol starts with Leading Quiet Zone, followed with Start Symbol, Data Symbols, ending with
Stop Symbol and Trailing Quiet Zone
Character set
Support for full 256 ASCII set among three subsets
Elements per
symbol
6 (3 bars, 3 spaces)
Character density
9.1 CPI
Bar width
0.25mm
Characters per line
2 Inch printer
: 13 alphanumeric characters or 26 numeric only (maximum) - automatically centered
3 Inch printer
: 18 alphanumeric characters or 36 numeric only (maximum) - automatically centered
4 Inch printer
: 32 alphanumeric characters or 36 numeric only (maximum) - automatically centered
Code 128 Start Character:
<start character> = {0x87, 0x88, 0x89} determines the character set to be printed
Start Character Characters Sent to Printer Characters Read by Bar Code Reader
0x020 through 0x03F ASCII
(#32 - #63)
0x020 through 0x03F ASCII
(#32 - #63)
IF <start character> is 0x87 CODE A
0x040 through 0x07F ASCII
(#64 - #127)
0x00 through 0x07F ASCII
(#0 - #31)
IF <start character> is 0x88 CODE B 0x020 through 0x07F ASCII
(#32 - #127)
0x020 through 0x07F ASCII
(#32 - #127)
IF <start character> is 0x89 CODE C
(Each number must be paired with another)
PAIRS 0x030 through 0x039 ASCII
(#48 - #57)
PAIRS 0x030 through 0x039 ASCII
(#48 - #57)
Code 128 Data Bytes:
<DATA>
The data bytes are defined by which character set is defined. The printer accepts all characters 0x20h - 0x7Fh with the
translations defined above.
Also, characters 0x080 - 0x86 may be used as Code 128 control characters:
HEX DEC CODE A CODE B CODE C
0x080 128 FNC 3 FNC 3
0x081 129 FNC 2 FNC 2
0x082 130 SHIFT SHIFT
0x083 131 change to C change to C
0x084 132 change to B FNC 4 change to B
0x085 133 FNC 4 change to A change to A
0x086 134 FNC 1 FNC 1 FNC 1
FNC 1: Reserved CODE 128 character (used for UCC/EAN128)
FNC 2: Message append (not supported by all bar code readers)
FNC 3: Initialize bar code reader
FNC 4: Extend characters (bar code reader reads character + 128)
For example: 'a' is changed from #97 to #97+128 = #225
Note that it is possible to switch code sets in the middle of the bar code. This is useful with heavily numeric alphanumeric bar
codes (see example below).