Friday, 23 December 2016

Code 128

  • Code 128 is a very effective, high-density symbology which permits the encoding of alphanumeric data.
  • The symbology includes a checksum digit for verification, and the bar code may also be verified character-by-character verifying the parity of each data byte.
  • An example of alphanumeric encoding in a single Code 128 bar code is:
    Structure of Code 128
    • A Code 128 bar code has the following physical structure:
      1. Start code, which is the code 103, 104, or 105 from the encoding table below (Start-A, Start-B, Start-C).
      2. Each of the data bytes of the message, encoded with the encoding table below.
      3. The checksum byte, calculated as described above and encoded using the table below.
      4. Stop character of 11000111010.
      5. Termination bar of 11.
      Encoding the symbol
      • The number "1" represents a "dark" or "bar" section of the bar code whereas a "0" represents a "light" or "space" section of the bar code.
      • Thus the numbers 1101 represents a double-wide bar (11), followed by a single-wide space (0), followed by a single-wide bar (1).
        Check digit calculation
        • It is calculated by summing the start code 'value' to the products of each character's 'value' multiplied by its position in the barcode string.
        • For example, in the following table, the code 128 variant A checksum value is calculated for the alphanumeric string HI2345678HI:
        Code Value Position Value ×
        Position
        Start Code A 103 1 103
        H 40 1 40
        I 41 2 82
        3 19 3 57
        4 20 4 80
        5 21 5 105
        6 22 6 132
        7 23 7 161
        8 24 8 192
        H 40 9 360
        I 41 10 410
        Sum 1722
        Remainder is (1722 / 103) 74
        Code 128 Encoding table
        • This table indicates how to encode each digit of a Code 128 bar code.
        • Note that it is easiest to think of each character as a value between 0 and 105, inclusive, rather than thinking of them as characters.
        Value Represents in Character set Encoding Value Represents in Character set Encoding
        A B C A B C
        00 SP SP 00 11011001100 53 U U 53 11011101110
        01 ! ! 01 11001101100 54 V V 54 11101011000
        02 " " 02 11001100110 55 W W 55 11101000110
        03 # # 03 10010011000 56 X X 56 11100010110
        04 $ $ 04 10010001100 57 Y Y 57 11101101000
        05 % % 05 10001001100 58 Z Z 58 11101100010
        06 & & 06 10011001000 59 [ [ 59 11100011010
        07 ' ' 07 10011000100 60 \ \ 60 11101111010
        08 ( ( 08 10001100100 61 ] ] 61 11001000010
        09 ) ) 09 11001001000 62 ^ ^ 62 11110001010
        10 * * 10 11001000100 63 _ _ 63 10100110000
        11 + + 11 11000100100 64 NUL ` 64 10100001100
        12 , , 12 10110011100 65 SOH a 65 10010110000
        13 - - 13 10011011100 66 STX b 66 10010000110
        14 . . 14 10011001110 67 ETX c 67 10000101100
        15 / / 15 10111001100 68 EOT d 68 10000100110
        16 0 0 16 10011101100 69 ENQ e 69 10110010000
        17 1 1 17 10011100110 70 ACK f 70 10110000100
        18 2 2 18 11001110010 71 BEL g 71 10011010000
        19 3 3 19 11001011100 72 BS h 72 10011000010
        20 4 4 20 11001001110 73 HT i 73 10000110100
        21 5 5 21 11011100100 74 LF j 74 10000110010
        22 6 6 22 11001110100 75 VT k 75 11000010010
        23 7 7 23 11101101110 76 FF l 76 11001010000
        24 8 8 24 11101001100 77 CR m 77 11110111010
        25 9 9 25 11100101100 78 SO n 78 11000010100
        26 : : 26 11100100110 79 SI o 79 10001111010
        27 ; ; 27 11101100100 80 DLE p 80 10100111100
        28 < < 28 11100110100 81 DC1 q 81 10010111100
        29 = = 29 11100110010 82 DC2 r 82 10010011110
        30 > > 30 11011011000 83 DC3 s 83 10111100100
        31 ? ? 31 11011000110 84 DC4 t 84 10011110100
        32 @ @ 32 11000110110 85 NAK u 85 10011110010
        33 A A 33 10100011000 86 SYN v 86 11110100100
        34 B B 34 10001011000 87 ETB w 87 11110010100
        35 C C 35 10001000110 88 CAN x 88 11110010010
        36 D D 36 10110001000 89 EM y 89 11011011110
        37 E E 37 10001101000 90 SUB z 90 11011110110
        38 F F 38 10001100010 91 ESC { 91 11110110110
        39 G G 39 11010001000 92 FS | 92 10101111000
        40 H H 40 11000101000 93 GS } 93 10100011110
        41 I I 41 11000100010 94 RS ~ 94 10001011110
        42 J J 42 10110111000 95 US DEL 95 10111101000
        43 K K 43 10110001110 96 FNC3 FNC3 96 10111100010
        44 L L 44 10001101110 97 FNC2 FNC2 97 11110101000
        45 M M 45 10111011000 98 SHIFT SHIFT 98 11110100010
        46 N N 46 10111000110 99 Code C Code C 99 10111011110
        47 O O 47 10001110110 100 Code B FNC4 Code B 10111101110
        48 P P 48 11101110110 101 FNC4 Code A Code A 11101011110
        49 Q Q 49 11010001110 102 FNC1 FNC1 FNC1 11110101110
        50 R R 50 11000101110 103 START A START A START A 11010000100
        51 S S 51 11011101000 104 START B START B START B 11010010000
        52 T T 52 11011100010 105 START C START C START C 11010011100
            STOP STOP STOP 11000111010

        0 comments:

        Post a Comment