ImageGear .NET - Updated
Code 128 and EAN 128
User Guide > How to Work with... > Barcodes > Supported Barcode Types > Code 128 and EAN 128

Code 128

Code 128 provides excellent density for all-numeric data and good density for alphanumeric data. The symbol can be as long as necessary to store the encoded data. It is often selected over Code 39 in new applications because of its density and because it offers a much larger selection of characters. Code 128 is designed to encode all 128 ASCII characters.

A Code 128 can actually be divided into three subsets A, B and C. There are three separate start codes to indicate which subset is being used. In addition, each subset includes control characters to switch to another subset in the middle of a barcode.

When the BarcodeType property is set to write a Code 128 barcode, the barcode engine will automatically switch between the three character sets (A, B and C) to code the data in the shortest form.

An Example:



The UCC/EAN 128 barcode is a special form of Code 128. EAN-128 is based on Code 128 but it has a double start character. It is also called UCC128.

The barcode engine will generate an error, if you have characters in your barcode value that are not allowed.

Each character is 11 times the width of the most narrow bar. Each character consists of 3 bars and 3 spaces. The bars always use an even number of elements and the spaces use an odd number. This provides the basis for a character-by-character consistency check during scanning. In addition, each Code 128 barcode includes a Modulo 103 checksum.

Code 128 requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MinimumBarWidth property to 3 pixels (narrow bar size), you should set the HorizontalWhiteSpace property to 30 pixels.

An Example: