Code-128 A, B & C are not really separate barcode types. A, B or C merely denotes the initial character set used; you may switch to a different character set (for example, from A to C) in the middle of the barcode at will, by inserting special characters into the barcode data. The special characters are Code-128 specific control characters, i.e., they have no UNICODE equivalents. In order to distinguish them from ASCII characters, in place of any such special character, we adopt the convention of using the UNICODE (or ANSI Western) character having the code that is that of the special character plus 128. For example, for the following Code-128 specific control characters,
SHIFT = 98 CODE_C = 99 CODE_B = 100 CODE_A = 101we have to use the UNICODE (or ANSI Western) characters that have the following codes instead,
98 + 128 = 226 (or 0xE2 in hex) for SHIFT 99 + 128 = 227 (or 0xE3 in hex) for CODE_C 100 + 128 = 228 (or 0xE4 in hex) for CODE_B 101 + 128 = 229 (or 0xE5 in hex) for CODE_A
The above discussion applies equally to EAN-128 A, B & C.