0:code128,编码格式:
Code128A字符集 包括大写字母、数字、常用标点符号和一些控制符。
Code128B字符集 包括大小写字母、数字、常用标点符号。
Code128C字符集 为纯数字序列。
Code128Auto 是将上述三种字符集最佳优化组合。
1:Code128编码规则:开始位 + [FNC1(为EAN128码时加)] + 数据位 + 检验位 + 结束位
2:条形码如何读取:
请看下面的图:
从左往右是黑白相间的条形码,黑的叫“条”(B),白的叫“空”(S)。
如果你仔细看,条和空都有4种不同的宽度。我们将它从细到粗赋予1、2、3、4这几个值。
然后我们开始按照粗细的值来阅读条码、结果如下:
211232231131221213131222212222221224121213121211321132331112
注意这个结果是黑白相间的。别只顾着读“条”忘了都空。这边总共有61位。
Code128码有一个头一个尾。
尾总是2331112,这代表Code128已经结束。其余的部分是6位为一个块,包括头。
头有3种:A)211412 B)211214 C)211232 。这分别表示此Code128是什么类型的。(ABC其中一种)
我们将我们读出来的码,去掉头和尾,重新分一次块:
231131 | 221213 | 131222 | 212222 | 221224 | 121213 | 121211 | 32113
正好是6位为一块。其中最后一个块(除去尾段)是校验位,用于检查该条形码是否被正确编码。
然后,我们有一个字符表。(应该说是我有这张表)这张字符对应各个编号是表示的什么。
我们这个是Code128C型。C型码是纯数字的,每个块对应2位数字。
查表可得 50 09 05 00 01 91 91 。
有了这些知识,我们就可以尝试去写一个程序去生成条形码和识别条形码。
其实生成是比较简单的,而识别就比较麻烦了。通常超市是使用条码枪,通过光学原理来条码识别的,因为黑白条纹的反光特性不一样。
要是用软件对图像进行识别,会有些麻烦。但是,这正是我们要做的。
3:生成条码:
可以通过js来生成条码,这里面可以制定是A,B,C 哪一种 http://blog.csdn.net/rodulf/article/details/51276889
也可以通过在线生成:http://www.qinms.com/webapp/barcode/index.aspx
4:两种生成条码的方法是使用的不同的算法的:
例如:
通过js 来生成的:
通过js生成的:
Code128编码表:
ID |
Code128A |
Code128B |
Code128C |
BandCode |
编码值 |
0 |
SP |
SP |
0 |
212222 |
bbsbbssbbss |
1 |
! |
! |
1 |
222122 |
bbssbbsbbss |
2 |
" |
" |
2 |
222221 |
bbssbbssbbs |
3 |
# |
# |
3 |
121223 |
bssbssbbsss |
4 |
$ |
$ |
4 |
121322 |
bssbsssbbss |
5 |
% |
% |
5 |
131222 |
bsssbssbbss |
6 |
& |
& |
6 |
122213 |
bssbbssbsss |
7 |
' |
' |
7 |
122312 |
bssbbsssbss |
8 |
( |
( |
8 |
132212 |
bsssbbssbss |
9 |
) |
) |
9 |
221213 |
bbssbssbsss |
10 |