Antecedent (logic)
Code 93 is a barcode symbology designed in 1982 by Intermec to provide a higher density and data security enhancement to Code 39. It is an alphanumeric, variable length symbology. Code 93 is used primarily by Canada Post to encode supplementary delivery information. Every symbol includes two check characters.
Code 93 is designed to encode 26 upper case letters, 10 digits and 7 special characters:
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
-, ., $, /, +, %, SPACE.
Each Code 93 character is divided into nine modules and always has three bars and three spaces, thus the name. Each bar and space is from 1 to 4 modules wide.
In addition to 43 characters, Code 93 defines 5 special characters (including a start/stop character), which can be combined with other characters to unambiguously represent all 128 ASCII characters.
In an open system, the minimum value of X dimension is 7.5 mils (0.19 mm). the minimum bar height is 15 percent of the symbol length or 0.25 inches (6.35 mm), whichever is greater. The starting and trailing quiet zone should be at least 0.25 inches (6.35 mm).
Structure of a code 93 barcode
A typical code 93 barcode has the following structure:
- A start character *
- Encoded message
- First modulo-47 check character "C"
- Second modulo-47 check character "K"
- Stop Character *
- Termination bar
Detailed Outline
The 48 possible code-93 symbols are as follows. There are actually = 56 combinations that satisfy the coding rules, but one would be confused with the stop symbol in reverse, and the other 7 are unused. Codes 43–46 can be prefixed to alphanumeric values to produce all 128 possible ASCII codes. This is done in exactly the same way as Full ASCII Code 39, but uses reserved codes rather than re-using codes 39–42.
ID | Character | Widths | Binary | ID | Character | Widths | Binary |
---|---|---|---|---|---|---|---|
0 | 0 | 131112 | 100010100 | 28 | S | 211122 | 110101100 |
1 | 1 | 111213 | 101001000 | 29 | T | 211221 | 110100110 |
2 | 2 | 111312 | 101000100 | 30 | U | 221121 | 110010110 |
3 | 3 | 111411 | 101000010 | 31 | V | 222111 | 110011010 |
4 | 4 | 121113 | 100101000 | 32 | W | 112122 | 101101100 |
5 | 5 | 121212 | 100100100 | 33 | X | 112221 | 101100110 |
6 | 6 | 121311 | 100100010 | 34 | Y | 122121 | 100110110 |
7 | 7 | 111114 | 101010000 | 35 | Z | 123111 | 100111010 |
8 | 8 | 131211 | 100010010 | 36 | - | 121131 | 100101110 |
9 | 9 | 141111 | 100001010 | 37 | . | 311112 | 111010100 |
10 | A | 211113 | 110101000 | 38 | SPACE | 311211 | 111010010 |
11 | B | 211212 | 110100100 | 39 | $ | 321111 | 111001010 |
12 | C | 211311 | 110100010 | 40 | / | 112131 | 101101110 |
13 | D | 221112 | 110010100 | 41 | + | 113121 | 101110110 |
14 | E | 221211 | 110010010 | 42 | % | 211131 | 110101110 |
15 | F | 231111 | 110001010 | 43 | ($) | 121221 | 100100110 |
16 | G | 112113 | 101101000 | 44 | (%) | 312111 | 111011010 |
17 | H | 112212 | 101100100 | 45 | (/) | 311121 | 111010110 |
18 | I | 112311 | 101100010 | 46 | (+) | 122211 | 100110010 |
19 | J | 122112 | 100110100 | Start/Stop * | 111141 | 101011110 | |
20 | K | 132111 | 100011010 | (Reverse stop) | 114111 | 101111010 | |
21 | L | 111123 | 101011000 | Unused | 411111 | 111101010 | |
22 | M | 111222 | 101001100 | 111132 | 101011100 | ||
23 | N | 111321 | 101000110 | 111231 | 101001110 | ||
24 | O | 121122 | 100101100 | 113112 | 101110100 | ||
25 | P | 131121 | 100010110 | 113211 | 101110010 | ||
26 | Q | 212112 | 110110100 | 213111 | 110111010 | ||
27 | R | 212211 | 110110010 | 212121 | 110110110 |
Full ASCII Code 93
Code 93 is restricted to 43 characters and 5 special characters. In Full ASCII Code 93 Symbols 0-9, A-Z, "-", ".", "$", "/", "+" and "%" are the same as their representations in Code 93. Lower case letters, additional punctuation characters and control characters are represented by sequences of two characters of Code 93.
Code Details | ||||||||||||||
Nr | Character | Encoding | Nr | Character | Encoding | Nr | Character | Encoding | Nr | Character | Encoding | |||
0 | NUL | (%)U | 32 | [space] | [space] | 64 | @ | (%)V | 96 | ` | (%)W | |||
1 | SOH | ($)A | 33 | ! | (/)A | 65 | A | A | 97 | a | (+)A | |||
2 | STX | ($)B | 34 | " | (/)B | 66 | B | B | 98 | b | (+)B | |||
3 | ETX | ($)C | 35 | # | (/)C | 67 | C | C | 99 | c | (+)C | |||
4 | EOT | ($)D | 36 | $ | (/)D | 68 | D | D | 100 | d | (+)D | |||
5 | ENQ | ($)E | 37 | % | (/)E | 69 | E | E | 101 | e | (+)E | |||
6 | ACK | ($)F | 38 | & | (/)F | 70 | F | F | 102 | f | (+)F | |||
7 | BEL | ($)G | 39 | ' | (/)G | 71 | G | G | 103 | g | (+)G | |||
8 | BS | ($)H | 40 | ( | (/)H | 72 | H | H | 104 | h | (+)H | |||
9 | HT | ($)I | 41 | ) | (/)I | 73 | I | I | 105 | i | (+)I | |||
10 | LF | ($)J | 42 | * | (/)J | 74 | J | J | 106 | j | (+)J | |||
11 | VT | ($)K | 43 | + | (/)K | 75 | K | K | 107 | k | (+)K | |||
12 | FF | ($)L | 44 | , | (/)L | 76 | L | L | 108 | l | (+)L | |||
13 | CR | ($)M | 45 | - | - | 77 | M | M | 109 | m | (+)M | |||
14 | SO | ($)N | 46 | . | . | 78 | N | N | 110 | n | (+)N | |||
15 | SI | ($)O | 47 | / | (/)O | 79 | O | O | 111 | o | (+)O | |||
16 | DLE | ($)P | 48 | 0 | 0 | 80 | P | P | 112 | p | (+)P | |||
17 | DC1 | ($)Q | 49 | 1 | 1 | 81 | Q | Q | 113 | q | (+)Q | |||
18 | DC2 | ($)R | 50 | 2 | 2 | 82 | R | R | 114 | r | (+)R | |||
19 | DC3 | ($)S | 51 | 3 | 3 | 83 | S | S | 115 | s | (+)S | |||
20 | DC4 | ($)T | 52 | 4 | 4 | 84 | T | T | 116 | t | (+)T | |||
21 | NAK | ($)U | 53 | 5 | 5 | 85 | U | U | 117 | u | (+)U | |||
22 | SYN | ($)V | 54 | 6 | 6 | 86 | V | V | 118 | v | (+)V | |||
23 | ETB | ($)W | 55 | 7 | 7 | 87 | W | W | 119 | w | (+)W | |||
24 | CAN | ($)X | 56 | 8 | 8 | 88 | X | X | 120 | x | (+)X | |||
25 | EM | ($)Y | 57 | 9 | 9 | 89 | Y | Y | 121 | y | (+)Y | |||
26 | SUB | ($)Z | 58 | : | (/)Z | 90 | Z | Z | 122 | z | (+)Z | |||
27 | ESC | (%)A | 59 | ; | (%)F | 91 | [ | (%)K | 123 | { | (%)P | |||
28 | FS | (%)B | 60 | < | (%)G | 92 | \ | (%)L | 124 | (%)Q | ||||
29 | GS | (%)C | 61 | = | (%)H | 93 | ] | (%)M | 125 | } | (%)R | |||
30 | RS | (%)D | 62 | > | (%)I | 94 | ^ | (%)N | 126 | ~ | (%)S | |||
31 | US | (%)E | 63 | ? | (%)J | 95 | _ | (%)O | 127 | DEL | (%)T, (%)X, (%)Y, (%)Z |
References
- http://www.barcodeisland.com/code93.phtml Bar code Island's description of the code.
External links
- Morovia Library Code 93 Specification This includes the checksum computation algorithm. Note that "C" is included in the computation of "K".
- OEM barcode scanner
- Code 93 Technical Specification