Discrete Symbology is where all characters are encoded in the symbol may be interpreted individually without respect to the rest of the barcode. Such symbologies have characters that both start and end with a bar. Individual characters are separated by some amount of inter-character spacing. The intercharacter spacing carries no information other than to separate the characters.
Continuous Symbology is one in which the individual characters of the symbology cannot be interpreted by themselves. This is because the characters start with a bar and end with a space. The final space is "terminated" by the starting bar of the next character. A character cannot be taken individually as there is no way to know how wide the last space is without knowing where the next character begins. Continuous symbologies normally implement some kind of special termination bar or termination sequence such that the termination bar terminates the last space of the last data character.
Two-Width Symbology has spaces and bars that are either wide or narrow. This has the benefit of simplicity-once it is determine how wide a "narrow" bar or space is, anything over a certain width can be considered "wide." This allows for a large level of print tolerance in lower-quality printing conditions.
Multiple-Width symbology is where the bars and spaces that may be of 3 or more widths. The narrowest bar or space may be X in width, a medium-width space or bar may be 2X in width, and a wide bar may be 3X in width. Since there are more possible combinations available in a multiple-width symbology, data encoding is often more efficient and results in a tighter barcode. Multiple-width symbologies are usually continuous symbologies.
Fixed-Length Symbology is where an exact number of characters or digits are encoded. For example, a UPC-A barcode always encodes 12 digits of data. An application may not encode less or more than the pre-defined fixed-length of 12 characters. The symbology itself defines the length of data.
Variable-Length Symbology is where the code can carry a message of any length. For example, Code 128 may encode any number of characters that can reasonably fit physically in the printed barcode. The symbology itself does not define how many characters of data must be encoded.
Self-Checking Symbology is where a single printing or scanning error will not cause one of the component characters to be converted erroneously into another valid character.