CODE 128 条码生成方法

来源:互联网 发布:xye刷卡软件 编辑:程序博客网 时间:2024/04/29 03:33

Code 128 Barcode Table

Value Code Set
A
Code Set
B
Code Set
C
Bar/Space Pattern
B S B S B S
0SPSP002 1 2 2 2 21!!012 2 2 1 2 22""022 2 2 2 2 13##031 2 1 2 2 34$$041 2 1 3 2 25%%051 3 1 2 2 26&&061 2 2 2 1 37''071 2 2 3 1 28((081 3 2 2 1 29))092 2 1 2 1 310**102 2 1 3 1 211++112 3 1 2 1 212,,121 1 2 2 3 213--131 2 2 1 3 214..141 2 2 2 3 115//151 1 3 2 2 21600161 2 3 1 2 21711171 2 3 2 2 11822182 2 3 2 1 11933192 2 1 1 3 22044202 2 1 2 3 12155212 1 3 2 1 22266222 2 3 1 1 22377233 1 2 1 3 12488243 1 1 2 2 22599253 2 1 1 2 226::263 2 1 2 2 127;;273 1 2 2 1 228<<283 2 2 1 1 229==293 2 2 2 1 130>>302 1 2 1 2 331??312 1 2 3 2 132@@322 3 2 1 2 133AA331 1 1 3 2 334BB341 3 1 1 2 335CC351 3 1 3 2 136DD361 1 2 3 1 337EE371 3 2 1 1 338FF381 3 2 3 1 139GG392 1 1 3 1 340HH402 3 1 1 1 341II412 3 1 3 1 142JJ421 1 2 1 3 343KK431 1 2 3 3 144LL441 3 2 1 3 145MM451 1 3 1 2 346NN461 1 3 3 2 147OO471 3 3 1 2 148PP483 1 3 1 2 149QQ492 1 1 3 3 150RR502 3 1 1 3 151SS512 1 3 1 1 352TT522 1 3 3 1 153UU532 1 3 1 3 154VV543 1 1 1 2 355WW553 1 1 3 2 156XX563 3 1 1 2 157YY573 1 2 1 1 358ZZ583 1 2 3 1 159[[593 3 2 1 1 160\\603 1 4 1 1 161]]612 2 1 4 1 162^^624 3 1 1 1 163__631 1 1 2 2 464NUL`641 1 1 4 2 265SOHa651 2 1 1 2 466STXb661 2 1 4 2 167ETXc671 4 1 1 2 268EOTd681 4 1 2 2 169ENQe691 1 2 2 1 470ACKf701 1 2 4 1 271BELg711 2 2 1 1 472BSh721 2 2 4 1 173HTi731 4 2 1 1 274LFj741 4 2 2 1 175VTk752 4 1 2 1 176FFI762 2 1 1 1 477CRm774 1 3 1 1 178SOn782 4 1 1 1 279SIo791 3 4 1 1 180DLEp801 1 1 2 4 281DC1q811 2 1 1 4 282DC2r821 2 1 2 4 183DC3s831 1 4 2 1 284DC4t841 2 4 1 1 285NAKu851 2 4 2 1 186SYNv864 1 1 2 1 287ETBw874 2 1 1 1 288CANx884 2 1 2 1 189EMy892 1 2 1 4 190SUBz902 1 4 1 2 191ESC{914 1 2 1 2 192FS|921 1 1 1 4 393GS}931 1 1 3 4 194RS~941 3 1 1 4 195USDEL951 1 4 1 1 396FNC 3FNC 3961 1 4 3 1 197FNC 2FNC 2974 1 1 1 1 398SHIFTSHIFT984 1 1 3 1 199CODE CCODE C991 1 3 1 4 1100CODE BFNC 4CODE B1 1 4 1 3 1101FNC 4CODE ACODE A3 1 1 1 4 1102FNC 1FNC 1FNC 14 1 1 1 3 1103Start AStart AStart A2 1 1 4 1 2104Start BStart BStart B2 1 1 2 1 4105Start CStart CStart C2 1 1 2 3 2106StopStopStop2 3 3 1 1 1 2
 
 
 
Example... To calculate the check digit for the barcode data string 'Code 128'
                              Value     Total      =====                  =====             Start Code B      104                    104Position 1              C       35         1 x 35 =    35Position 2              o       79         2 x 79 =   158Position 3              d       68         3 x 68 =   204Position 4              e       69         4 x 69 =   276Position 5                       0         5 x  0 =     0Position 6              1       17         6 x 17 =   102Position 7              2       18         7 x 18 =   126Position 8              8       24         8 x 24 =   192                                                     =====                                                     1197                                                     =====             1197/103 = 11 remainder 64
#endregion
即根据上表, 把没个字符的value值 乘上 字符在字符串中的位置(从1开始算)
把没个乘积加起来
因为CODESET B 为104(这是规定, 不要问我为什么)
所以, 还要加上 104 
最后, 除以103, 所得的余数就是 校验码 的value值, 然后在表中找到对应的字符
就可以了.
 
原创粉丝点击