一维条形码 code128 的全面介绍

0:code128,编码格式:


Code128A字符集 包括大写字母、数字、常用标点符号和一些控制符。

Code128B字符集 包括大小写字母、数字、常用标点符号。

Code128C字符集 为纯数字序列。

Code128Auto 是将上述三种字符集最佳优化组合。


1:Code128编码规则:开始位 + [FNC1(为EAN128码时加)] + 数据位 + 检验位 + 结束位


2:条形码如何读取:

请看下面的图:

Code128条形码
从左往右是黑白相间的条形码,黑的叫“条”(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

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值