UCC/EAN-128 background informationUCC/EAN-128 was developed to provide a worldwide format and standard for exchanging common data between companies. While other barcodes simply encode data with no respect for what the data represents, UCC/EAN-128 encodes data and encodes what that data represents. For example, you could encode the weight 20.56 pounds in a Standard 2 of 5 barcode by simply encoding the digits 2056. However, an application reading the barcode would not know whether 2056 is a product code, a price, a time (2056 could be 20:56, which is 8:56PM), a lot number or, in this case, the weight in pounds. Even if it did know it was a weight, the application would not know whether the number represented 2056 pounds or 20.56 pounds--or perhaps the weight was expressed in kilograms. Of course, a system may implement some kind of internal standard. Perhaps a prefix of "1" before the data (i.e. 12056) would mean the data that followed was a weight in pounds with the last two digits being after the decimal point. However, if this barcode was printed on the product and shipped to a customer, the customer wouldn't have any way to interpret the data unless the customer was informed about the internal standard and implemented it. This would require customizations on each customer's systems, not to mention of downstream systems (what about the customer of your customer?). As you can see, encoding the data in a barcode is not a problem -- the problem is decoding the barcode afterward. More importantly, the problem is that anyone should be able to decode the barcode with no modifications necessary to their system. UCC/EAN-128 solves this problem. UCC/EAN-128 has a list of "Application Identifiers" (AI). Each AI tells the system what kind of data will follow and in what format. For example, AI 320 indicates that the data that follows is a net weight in pounds. The next digit indicates the number of digits after the decimal point, followed by 6 digits which express the weight. In our example above, 20.56 pounds would be expressed as AI 3202 (the trailing 2 means there are 2 digits after the decimal point), followed by 002056 which represents the weight right-justified within a 6-digit field. Thus our above example becomes UCC/EAN-128 3202002056. This UCC/EAN-128 could be scanned and successfully interpreted by any UCC/EAN-128-compatible system without modification. NOTE: A UCC/EAN-128 can be read by any scanner or program capable of reading a Code 128. However, it's the responsibility of the application to recognize the scanned Code 128 barcode as one conforming to the UCC/EAN-128 standard and interpret it as such. Application Identifier reference tableThe following table is a summary of valid Application Identifiers and the format of the data using that AI. Some AI's include a clickable link which you may click to obtain more detailed information about the AI and/or the format of its data. Note that some AI numbers contain an 'x' or a 'y' following the AI in the AI column. This means that a single digit must be appended to the AI, the digit having the following meaning:x: A single digit indicating the length of the data field
More About EAN128, UCC128 and Application IdentifiersThe Application Identifier (AI) - defines the barcode data fields in the Code 128 barcode. Each AI uniquely identifies the meaning and format of the data following it. The AI has parentheses around it in the human readable interpretation of the information. However, the parentheses are not encoded in the barcode, just the numbers. Examples of encoding UCC/EAN-128 |