Christina S. Barkan Page 2 10/14/1999 Major Linear Symbologies CODE 128 Code 128 Symbology OverviewCode 128 is a fairly high density linear bar code symbology capable of encoding the full 128-character ASCII character set and extended character sets. It is a variable length, continuous symbology with multiple element widths. One of its unique features is its ability to change character sets to optimize symbol length. This is done with unique "start" and "shift" characters specifying that the data following is numeric, alphanumeric, or special characters. It has three separate start characters that define the beginning character set encoded in the message. A shift character is used to change from one character set to another. In code set „C‟, the numeric code set, symbol length is optimized by representing two numeric digits with one bar / space pattern. Printing algorithms analyze the data string and select the appropriate start and shift characters to minimize symbol length. Alphanumeric Code 128 is somewhat more compact than Code 39, but a slight amount of scanning working range is lost because Code 128 is a modular symbology. It is often selected over other linear symbologies in new applications because of its density, it‟s built in check character, and its large character set. The Code 128 character set includes the digits 0-9, the letters A-Z (upper and lower cases), and all standard ASCII symbols and control codes. The codes are divided into three subsets A, B, and C. As noted previously, there are three separate start characters to indicate which subset will be used and each subset includes control characters to switch to another subset in the middle of the bar code. Subset A includes the standard ASCII symbols; digits, upper case letters, and control codes. Subset B includes standard ASCII symbols; digits, upper and lower case letters. Subset C compresses two numeric digits into each character, i.e. 00, 01, 02 …99, making it 48% smaller than an equivalent Code 39 symbol.Each character consists of 3 bars and 3 spaces, each of which may be 1, 2, or 3 elements wide (1 element = 1/11th of the character width). It is self-checking with the bars always having an even number of elements and the spaces having an odd number of elements. Each Code 128 bar code includes a Modulo 103 checksum.