ISO IEC 24723:2010 pdf – lnformation technology – Automaticidentification and data capture techniques -Gs1 Composite bar code symbology specification.
2) If four to six bits remain, add I to the digit value and encode the result in the next four bits. The fifth and sixth bits, If present, shall be Os.
3) Otherwise the next larger symbol size will be used, encoding the digit and a FNC1 pad in the next seven bets. This trailing FNC1 will be recognized as a pad and witi not be transmitted by the reader. Any remaining bits are encoded according to the padding procedure of 5.4.4.
d) No characters remain: any remaining bits are encoded according to the paddrng procedure of 5.4.4.
Whenever an Alphanumeric latch Is encoded, the erecodabon scheme Is changed to reflect that latch. If the next data character requires ISO/IEC 646 encodation, the Alphanumeric encodation scheme will immediately encode an ISO/IEC 646 latch following the Alphanumeric latch.
During decoding the following special checks shall be made when numenc compaction is in effect at the end of the symbol:
a) If the last seven bits of Numeric encodatlon Immediately before the pad sequence encode a digit followed by a FNC1, the FNCI is ignored.
b) If Numeric encodatiore is in effect when on’y four to six bits remain in the symbol, then the value of the 4-bit string at the start of the remaining bits is converted Into its decimal value.
1) If the value is zero, then the data message is complete,
2) Otherwise, it is decoded as a final digit in the data message equal to the decimal value minus one.
5.4.2 Alphanumeric encodation
Alphanumeric encodation encodes the digits and FNCllnumeric latch, the uppercase letters, five punctuation characters, a Symbol Separator/numeric latch character, and two latch characters. The encoded bit stream does not have a fixed bit length per character. Each character is encoded in from three to six bits as shown in Table 6. The Symbol Separatorinumeric latch character listed In the table Is used to break the data string into separate transmissns, each beginning with the appropriate symbology identifier,
The data is encoded by appending the variable length binary data for each character to the data compaction field according to the following rules:
a) If the next data character Is a FNC1. encode It In ISOfIEC 646 encodalion.
b) If none of the next ten characters requires ISOIIEC 646 encodation and the first four characters can be encoded in Numeric Compaction, encode a Numeric latch in the data compaction field.
C) If none of the next ten characters requires ISOIIEC 646 encodatlon and the first five characters can be encoded in Alphanumeric Compaction, encode an Alphanumeric Latch in the data compaction field
With either the second or third rule, if the data terminates in less than ten characters, then the ten-character test completes eaily at the end of the data. If a latch Is encoded, the encodatlon scheme Is changed to reflect that latch
The encoded bit field is decoded by first examining the first three or five bits foowing the previously decoded character or Irutlally at the start of the field:
a) If the first three bits are 000, it is a numeric Latch.
b) Otherwise, get the decimal value of the first five bits, If the value is:
1) 15 or less, decode the character as a 5-bit character:
2) 16 to 28, decode the character as a 7-bit character;
3) 29 or more, decode the character as an 8-bit character.
5.4.4 Pad bits for the general-purpose data compaction field
The number of rows in the symbol should be the minimum required for encoding the data In that symbol. However, there may be unused bits in the symbol after the data is encoded. These bits shall be filled with a pad bit sequence until the data capacity of the symbol is filled.
NOTE For CC-B and CC-C the standard lb%CroPDF4I7 and P0F417 pad codewi,rds are not used
The padding bit string is created by repeated five-bit pad sequences of 00100, which is both the ISOIIEC 646 Latch in Alphanumeric enoodatlon and the Alphanumeric latch In ISO1IEC 646 encodation, so that the encodation modes and their latches alternate without encoding more data. The last pad sequence may be truncated on the right If there are not enough bits left in the symbol.
If Numeric encodation ends the data encodation, a four-bit alphanumeric latch of 0000 is required before the 00100 alternating latch pad sequence. For example, if the encoding ends in Numeric encodation and there are seven remaming bits, they shall be encoded as 000000V, which Is the alphanumeric latch OOOO followed by the first three bits 00V of the ISOIIEC 646 latch of “OOlOO, Also the first four-bit Latch may be shortened if fewer than four unused bits reman to be padded.