It is intended to be used on packaging which would be otherwise too small to use one of the other versions. The code is smaller because it drops out zeros which would otherwise occur in a symbol. For example, the code 59300-00066 would be encoded as 593663. The last digit (3 in the example) indicates the type of compression. Guard bars precede and follow the data (no middle guard bars). The digits are coded following the parity pattern EVEN, EVEN, ODD, ODD, EVEN, ODD. The data is enclosed between two left-hand guard bars and three right-hand guard bars. The six digit number is always preceeded by a 0 and followed by the check digit. The way the check digit is computed is by expanding the type E to a type A, then doing the regular check.
UPC-E (The zero-suppression version)is similar to the portion of Version A to the left of the center except for the following:
Character encodation for UPC-E is given in the following table.
Only number system "0" can be represented by zero suppression symbols.
The coding of the zero-suppression version is compressed into six characters of varying parity. The determination of whether a character's parity is even or odd is per the following table.
|Zero-Suppression Parity Pattern|
|Character Location Number|
Step 1: Designate the least significant digit postion as odd.
9 0 1 2 5 8
E O E O E O
Step 2: Sum all the digits in the odd (O) positions
0 + 2 + 8 = 10
Step 3: Multiply the result by 3
10 * 3 = 30
Step 4: Sum all the digits in the even (E) positions.
9 + 1 + 5 = 15
Step 5: Add the result of Step 2 with the result of Step 4.
30 + 15 = 45
Step 6: Subtract from the next higher multiple of 10..
50 - 45 = 5.
In this example, the check digit is 5.