A linear bar code can be rendered unreadable with a simple pen stroke. 2D symbols, on the other hand, use an advanced form of error correction that allows the symbol to be damage extensively and still be read. There are several 2D symbologies that are commonly used for applications where standards have been set. These are Data Matrix , MaxiCode , and PDF417 . Data Matrix is typically used for parts marking applications, MaxiCode is used for sortation and tracking applications, and PDF417 is used for supply chain logistics, and identification applications.
Data matrix comes in two distinct flavors.
The older 1989 version, labeled ECC 000 - 140, uses convolutional error correction schemes. This type of error correction was not considered as robust as an the Reed-Solomon error correction scheme used by other 2D codes. While the symbology specification was in review by the AIM Technical Symbology Committee, the ECC 200 version was created using Reed-Solomon error correction. ECC 200 includes various compaction schemes that allow a defined set of characters to be converted into codewords. Additional codewords are inserted in the process to switch between compaction schemes and other functions.