Introduction to Bar Coding
Bar codes provide a simple and
inexpensive method of encoding text information that is easily read
by inexpensive electronic readers. Bar coding also allows data to be
collected rapidly and with extreme accuracy. A bar code consists of
a series of parallel, adjacent bars and spaces. Predefined bar and
space patterns or "symbologies" are used to encode small strings of
character data into a printed symbol. Bar codes can be thought of as
a printed type of the Morse code with narrow bars (and spaces)
representing dots, and wide bars representing dashes. A bar code
reader decodes a bar code by scanning a light source across the bar
code and measuring the intensity of light reflected back by the
white spaces. The pattern of reflected light is detected with a
photodiode which produces an electronic signal that exactly matches
the printed bar code pattern. This signal is then decoded back to
the original data by inexpensive electronic circuits. Due to the
design of most bar code symbologies, it does not make any difference
if you scan a bar code from right to left or from left to right.
The basic structure of
a bar code consists of a leading and trailing quiet zone, a start
pattern, one or more data characters, optionally one or two check
characters and a stop pattern.

There are a variety of
different types of bar code encoding schemes or "symbologies", each
of which were originally developed to fulfill a specific need in a
specific industry. Several of these symbologies have matured into
de-facto standards that are used universally today throughout most
industries. The symbologies supported by B-Coder, The TAL Bar Code
ActiveX control and the TAL Bar Code DLLs are those most commonly
used across all industries.
The different symbologies have different capabilities for encoding
data. For example the UPC symbology used to identify retail products
always contains 12 numeric digits whereas the general purpose Code
39 or Code 128 bar code symbologies can encode variable length
alphanumeric data up to about 30 characters in length. These types
of bar codes are called "linear symbologies" because they are made
up of a series of lines of different widths. Most commercially
available bar code scanners are able to read all of the different
linear bar code symbologies therefore you do not need different
readers for different types of bar codes.
New "2-Dimensional" bar code symbologies like PDF417, Aztec Code and
Data Matrix are also now available that can encode several thousand
bytes of data in a single bar code symbol including text or binary
data. The newer 2D bar code symbologies typically require special
bar code readers that are designed specifically for reading them.
The primary purpose of
a bar code is to identify something by labeling the item with a bar
code containing a unique number or character string. Bar codes are
typically used with a database application where the data encoded in
the bar codes is used as an index to a record in the database that
contains more detailed information about the item that is being
scanned. For example, when a checkout clerk scans a bar code on a
product in a grocery store, the bar code data is fed to a computer
that looks up the information in a central database and returns more
detailed information about the item that was scanned including
possibly a description of the item and a price. By using bar codes,
the grocery store does not need to put a price tag on each item in
the store and they can also change the price for a particular item
by modifying a single entry in the central database. They can also
track how much of a product is currently in stock so that they know
when to re-order more of each item as the number of items in stock
falls.
Bar codes also provide
a quick and error free means for inputting the data into an
application running on a computer. By using bar codes, the potential
for errors from manual data input is eliminated. Another typical
application for bar codes is therefore for inputting data without
having to type. For example you could encode name or address data in
a bar code on an ID badge and then scan the ID badges to input a
persons name into a computer program instead of typing the
information.
How much data can
you actually encode?
The different bar code symbologies support different types and
amounts of data therefore you normally choose a particular symbology
based on the type and amount of data that you want to encode in your
bar codes.
|
Symbology |
Data Capacity |
|
UPC-A |
12 numeric digits
- 11 user specified and 1 check digit. |
|
UPC-E |
7 numeric digits -
6 user specified and 1 check digit. |
|
EAN-8 |
8 numeric digits -
7 user specified and 1 check digit. |
|
EAN-13 |
13 numeric digits
- 12 user specified and 1 check digit. |
|
Code 39
Code 93
Code 128
EAN-UCC 128 |
Variable length
alphanumeric data - the practical upper limit is dependent on
the scanner and is typically between 20 and 40 characters. Code
128 is more efficient at encoding data than Code 39 or Code 93.
Code 128 is the best choice for most general bar code
applications. Code 39 and Code 128 are both very widely used
while Code 93 is rarely used. |
|
I 2 of 5 |
variable length
numeric data - the practical upper limit is dependent on the
scanner and is typically between 20 and 50 characters. |
|
Data Matrix |
Data can consist
of any type of data including binary or alphanumeric and be up
to 3116 bytes in length. |
|
Aztec |
Data can consist
of any type of data including binary or alphanumeric and be up
to 3750 bytes in length. |
|
Maxicode |
Maxicode can hold
up to 93 alphanumeric characters or 138 numeric digits. Maxicode
is used almost exclusively for United Parcel Service package
identification. |
|
PDF417 |
PDF417 is a little
more complex and it is difficult to say exactly what its
capacity is because it depends greatly on the type of data that
you encode in a PDF417 symbol as well as the amount of error
correction capacity that you choose to use in a PDF417 symbol.
For general binary
data with no error correction enabled, a single PDF417 symbol
can hold up to 1108 bytes. If the data consists of all numeric
digits, then a single PDF417 symbol can hold up to 2725 digits.
If the data consists of alphanumeric data, you can encode a
maximum of 1850 bytes. If you have a mix of alphanumeric and
binary data, the capacity will be somewhere between 1108 and
1850 bytes and will depend on the content of the data.
All of our bar
code software products use an extremely efficient encoding
algorithm that will squeeze the maximum number of bytes possible
into a PDF417 symbol however it still must work within the
limits of the symbology specification. |
You are generally free
to use any type of bar code that you like and encode whatever data
that you like for applications in a closed system.
See Also:
|