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.
Bar codes are like a printed version of the Morse
code. Different bar and space patterns are used to represent different
characters. Sets of these patterns are grouped together to form
a "symbology". There are many types of bar code symbologies each
having their own special characteristics and features. Most symbologies
were designed to meet the needs of a specific application or industry.
For example the UPC symbology was designed for identifying retail
and grocery items and PostNET was designed to encode Zip Codes
for the US Postal Service.