Code 128 & GS1-128

Code 128 and GS1-128 are modern very high density coding schemes. They have three coding schemes each and permit the inclusion of special characters not present on the keyboard. If no coding scheme is specified the dLSoft libraries automatically select the most suitable type. For GS1-128 scheme C is used for any code which has numbers in the first four digits (as recommended by the GS1). A specific subtype scheme may be selected by making the first character one of the start characters specified below or, in most dLSoft products, by selecting the Code 128A or Code 128B subtypes.

GS1-128 barcodes are distinguished from Code 128 by the presence of a Function 1 (FNC1) character as the first character encoded.

 

     GS1-128

 

     Code-128

The special characters may be entered as <ALT>0XYZ, where XYZ is the 3 digit ASCII code (+128 for values <32), or according to the following table:

 

XYZ

character

Code A

Code B

Code C

197

Å

DEL

 

 

198

Æ

func. 3

func. 3

 

199

Ç

func. 2

func. 2

 

200

È

shift

shift

 

201

É

code C

code C

 

202

Ê

code B

func. 4

code B

203

Ë

func. 4

code A

code A

204

Ì

func. 1

func. 1

func. 1

205

Í

Start A

Start A

Start A

206

Î

Start B

Start B

Start B

207

Ï

Start C

Start C

Start C

208

Ð

NUL

 

 

 

Code C codes only the digit pairs 00-99.

Note that EAN/UCC-128 codes have parentheses removed before coding, so ( and ) may appear in the human readable form but will be omitted from the barcode. Parentheses may not be used as part of the code data.

Spaces may be stripped from the text provided for input by checking the EXTRA1 checkbox in applications, or setting the flags parameter bit DL_FLAG_EXTRA1 (bit 4 of the flags variable) or BarCode.Extra1 in the OCX. This allows spaces to appear in the text under the symbol while not being included in the symbol itself.

dLSoft barcode products normally provide the control codes for switching between subtypes automatically, but this facility can be turned off by checking the EXTRA2 checkbox in applications, or setting the flags parameter bit DL_FLAG_EXTRA2 (bit 5 of the flags variable) or BarCode.Extra2 in the OCX. When dBarcode is to provide control codes no additional control codes should be provided by the user, although an initial Start A or Start B code may be given if it is desired to force the symbol to start in a particular code type. Users should note that if this option is chosen then the barcode produced may not appear identical to a sample obtained from another source - although it will scan to produce the same characters.

Many dLSoft products also include the option to select Code 128A or Code 128B code types and these attempt to encode the data using subtype A or subtype B respectively without requiring the user to insert start characters.

The dLSoft libraries always calculate the Mod 103 check digit required in 128 barcodes, and this check digit is never produced in human readable form.

The majority of support calls result from users not using the correct 128 code variants (ie. A, B or C) or not being aware of which code variant a customer is expecting. Some customers expect only Code C, while others start in Code A and then switch to Code C, etc. It is important to be aware that the three code variants exist and will commonly be encountered within the same barcode. For this reason it is essential to ascertain which type the customer wants and if and where the code variant should change along the barcode.

Users of Code 128/EAN 128 should note that while there is a nominal size for these symbols (31.8 mm high and 11*n+2 mm long, where n is the number of characters including control codes), many applications of these codes use recommended sizes of between 50% and 84% of nominal.

 

More:

Code B