4.4. Code 39 Extended

Code39 standard also specifies a way to print characters outside the native Code 39 character set. It does so by encoding these characters with two native Code 39 characters. Four characters, the percent sign (%), dollar ($), slash (/) and plus sign (+) are used as leading characters.

Since these leading characters are also in the native Code 39 character set, the barcode reader is unable to determine whether a barcode is Code 39 extended or just normal code 39. For example, a barcode reader may read the extended code 39 barcode abc as +A+B+C. Fortunately, most scanners allow you configure if you expect a Code 39 extended symbol (sometimes called Code 39 Full ASCII), or just a normal code 39 symbol.

When you need to encode characters outside the native set, use the table below. For example, the sequence for lower case letter a is +A.

Table 4.2. Code39 Full ASCII Chart

ASCII Encoding ASCII Encoding ASCII Encoding ASCII Encoding
NUL %U Space = or - @ %V ` %W
SOH $A ! /A A A a +A
STX $B " /B B B b +B
ETX $C # /C C C c +C
EOT $D $ /D D D d +D
ENQ $E % /E E E e +E
ACK $F & /F F F f +F
BEL $G ' /G G G g +G
BS $H ( /H H H H H
HT $I ) /I I I i +I
LF $J * /J J J j +J
VT $K + /K K K k +K
FF $L , /L L L l +L
CR $M - - M M m +M
SO $N . . N N n +N
SI $O / /O O O o +O
DLE $P 0 0 P P p +P
DC1 $Q 1 1 Q Q q +Q
DC2 $R 2 2 R R r +R
DC3 $S 3 3 S S s +S
DC4 $T 4 4 T T t +T
NAK $U 5 5 U U u +U
SYN $V 6 6 V V v +V
ETB $W 7 7 W W w +W
CAN $X 8 8 X X x +X
EM $Y 9 9 Y Y y +Y
SUB $Z : /Z Z Z z +Z
ESC %A ; %F [ %K { %P
FS %B > %G \ %L | %Q
GS %C = %H ] %M } %R
RS %D < %I ^ %N ~ %S
YS %E ? %J _ %O DEL %T, %X, %Y, %Z

To create barcode string for extended code39, first convert character outside the code39 set to two characters. Add start/stop character at the beginning and the end. Formatting the result with a code39 font will result in an extended code 39 barcode.