Checksums are used to verify the correctness of data. Their use is usually in data transmission, or converting data from one form to another. A parity bit is a form of checksum error correction coding. The idea is that the whole unit of data can be identified by a single number, a checksum. If the checksum is not correct or it does not match, errors have occurred. The simplest checksum is to add up the value of the individual bytes in the data. Given the data of "CAT", the ASCII values of the letters are 67 + 65 + 84 = 216 and the whole package might be given the notation "CAT(216)". So if we received "CAS(216)" we’d know that an error occurred somewhere along the way. A simple sum of the characters can be fooled by switching the order but not the value of the data, e.g. "TAC" and "CAT" have the same checksum. So more sophisticated checksum methods have been developed which reduce (but never totally eliminate) the chance of incorrect data giving the correct checksum. Many types of barcodes employ checksums. In several other types, checksums are optional. Clearly, those that incorporate checksums are more robust and reliable.
The UPC and EAN codes always append the checksum character to the barcode results. This is done regardless of the AppendCheckSum property value.
More advanced barcodes use an error correction system. This allows for reliable reading even if the code has been slightly damaged.
Barcodes with No Checksum | Barcodes Requiring a Checksum | Barcodes with Optional Checksum | Barcodes with Error Correction |
---|---|---|---|
Add2 | Code 128 | Code 39 | Australian Post 4 State Barcode |
Add5 | Code 93 | Code 39 Extended | Aztec |
BCD Matrix | Code 93 Extended | Industry 2 of 5 | Data Matrix |
Codabar | IATA 2 of 5 | Interleaved 2 of 5 | MicroPDF417 |
Code 32 | EAN-128 | Inverted 2 of 5 | PDF417 |
DataLogic 2 of 5 | EAN-13 | QR Code | |
Patch Code | EAN-8 | UPU_S18 4-State_Barcode | |
GS1 DataBar | |||
Intelligent Mail | |||
Matrix 2 of 5 | |||
PLANET | |||
PostNet | |||
Royal Post 4-State Barcode | |||
UPC-A | |||
UPC-E |