
The EAN/UPC symbology is ideal for identifying products to be sold at point of sale (POS). It is designed to be especially tolerant of the different printing methods used on the multitudes of products sold today. If you look carefully at a EAN/UPC barcode, you may see that it two halves, each one taller than it is wide. This format allows the symbol to be scanned omnidirectionally, significantly speeding up the scanning process.
The UPC/EAN symbology is a fixed length, numeric symbology. it is known as a continuous code, using four element widths for the bars and spaces in the code. Binary codes, such as Code 39 (see below) have only two different widths for their bars and spaces.
The nominal X dimension is 13 mils (.013"). Different sizes of UPC/EAN symbols are expressed using a magnification factor of 0.8 to 2.0, where 1.0 equals 13 mils.

Code 39 is an alphanumeric bar code. The symbol length is limited only by the
scanning method and capability of the decoder. The character set for Code 39
encodes 26 uppercase letters, 10 digits and 7 special characters. It can be
extended to code all 128 ASCII characters by using a two character coding scheme
similar to using a shift key on a typewriter.
In a Code 39 symbol, each encoded data character is made up of 5 bars and 4
spaces for a total of 9 elements. Code 39 is called a binary code because each
bar or space is either "wide" or "narrow". It gets its name
from the fact that 3 out of the 9 elements are always wide.
The symbol includes a quiet zone, the start
character "*", the encoded data, the stop character "*",
and a
trailing quiet zone. The asterisk can not be a data character, it is only used
as a start and stop code.

UCC/EAN-128 is an alphanumeric, continuous, one-dimensional symbologies. It uses three different character sets, (A, B and C), to facilitate the encoding of the full 128 ASCII character set. Code 128 is one of the most compact linear bar code symbologies. Character set C enables numeric data to be represented in a double density mode. In this mode, two digits are represented by only one symbol character saving valuable space.
UCC/EAN 128 is a very secure symbology so errors are extremely rare. It uses two independent self-checking features which improves scanning reliability.
The UCC/EAN-128 bar code is made up of a leading quiet zone, a Code 128 start
character A, B, or C, a FNC 1 character, Data including Application Identifiers,
a symbol check character, a stop character, and a trailing quiet zone.
Following the start character, the UCC/EAN-128 bar codes always contain a
special non-data character known as Function 1 (FNC 1). The FNC 1 enables bar
code readers to auto-discriminate between UCC/EAN-128 and the Code 128 code
symbology, as well as other symbologies.

Interleaved 2 of 5 is a a numeric bar code. The symbol can be as long as
necessary to store the encoded data, however it can only encode an even number
of digits. The code is a high density code that can hold up to 18 digits per
inch when printed using a 7.5 mil X dimension. A check digit is optional but
highly recommended.
There are five bars, two of which are wide and five spaces, two of which are
wide. It is "Interleaved" because one digit is encoded in the bars and
the next digit is encoded in the spaces. Think of wearing a black glove (the
bars) on one hand and a white glove (the spaces) on the other. By placing each
finger of one hand next to the same finger of the other hand, your fingers
become interleaved just like the bars and spaces in Interleaved 2 of 5.
The symbol includes a quiet zone, the start character (narrow bar-narrow space-
narrow bar-narrow space), the encoded data, the stop character (Wide bar-narrow
space-narrow bar), and a trailing quiet zone.