Code-128 A is a continuous barcode. Its character set is ASCII 0 to 95 plus special characters SHIFT, CODE_C, CODE_B. It has one check character (not shown as part of the display text).
The special characters have the following barcode-defined native values:
SHIFT = 98 CODE_C = 99 CODE_B = 100When using these characters in the Data property, you must add 128 to the above native values in order to distinguish them from normal ASCII characters, i.e., use
98 + 128 = 226 for SHIFT (or 0xE2 in hex) 99 + 128 = 227 for CODE_C (or 0xE3 in hex) 100 + 128 = 228 for CODE_B (or 0xE4 in hex)These characters make it possible to mix Code-128 A, Code-128 B and Code-128 C characters in one barcode:
SHIFT indicates the next one character will be encoded using Code-128 B character set (if the current character set is Code-128 A)In the barcode image above, there's a CODE_C between W4 and 13, i.e., the 9th character has code:CODE_C indicates starting with the next character, Code-128 C set will be used.
CODE_B indicates starting with the next character, Code-128 B set will be used.
99 + 128 = 227 (or 0xE3 in hex)in the Data property. Consequently the characters starting with 13 are actually encoded using the Code-128 C character set. On Windows, you can enter special characters by keeping the ALT key pressed and typing 0 followed by the character code (e.g. 227).
In a URL, you'll need to URL-encode the character; 227 (0xE3) will be encoded as %u00E3. The barcode data above would look like the following in a URL,
1Z0413W4%u00E31302528989
See Also