一、概述
百度百科
条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。
通用商品条形码一般由前缀部分、制造厂商代码、商品代码和校验码组成。商品条形码中的 前缀码是用来标识国家或地区的代码,赋码权在国际物品编码协会,如 00-09代表美国、加拿大。45、49代表 日本。69代表中国大陆,471 代表中国台湾地区,489 代表香港特区。
二、运作原理
2.1、识别原理
要将按照一定规则编译出来的条形码转换成有意义的信息,需要经历扫描和译码两个过程。物体的颜色是由其反射光的类型决定的,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光,所以当条形码扫描器光源发出的光在条形码上反射后,反射光照射到条码扫描器内部的光电转换器上,光电转换器根据强弱不同的反射光信号,转换成相应的电信号。根据原理的差异,扫描器可以分为光笔、红光CCD、激光、影像四种。电信号输出到条码扫描器的放大电路增强信号之后,再送到整形电路将模拟信号转换成数字信号。白条、黑条的宽度不同,相应的电信号持续时间长短也不同。主要作用就是防止静区宽度不足。然后译码器通过测量脉冲数字电信号0,1的数目来判别条和空的数目。通过测量0,1信号持续的时间来判别条和空的宽度。此时所得到的数据仍然是杂乱无章的,要知道条形码所包含的信息,则需根据对应的编码规则(例如:EAN-8码),将条形符号换成相应的数字、字符信息。最后,由计算机系统进行数据处理与管理,物品的详细信息便被识别了。
2.2、扫描原理
条形码的扫描需要扫描器,扫描器利用自身光源照射条形码,再利用光电转换器接受反射的光线,将反射光线的明暗转换成数字信号。不论是采取何种规则印制的条形码,都由静区、起始字符、数据字符与终止字符组成。有些条码在数据字符与终止字符之间还有校验字符。
▲静区:静区也叫空白区,分为左空白区和右空白区,左空白区是让扫描设备做好扫描准备,右空白区是保证扫描设备正确识别条码的结束标记。
为了防止左右空白区(静区)在印刷排版时被无意中占用,可在空白区加印一个符号(左侧没有数字时印<;号,右侧没有数字时加印>;号)这个符号就叫静区标记。主要作用就是防止静区宽度不足。只要静区宽度能保证,有没有这个符号都不影响条码的识别。
▲起始字符:第一位字符,具有特殊结构,当扫描器读取到该字符时,便开始正式读取代码了。
▲数据字符:条形码的主要内容。
▲校验字符:检验读取到的数据是否正确。不同编码规则可能会有不同的校验规则。
▲终止字符:最后一位字符,一样具有特殊结构,用于告知
代码扫描完毕,同时还起到只是进行校验计算的作用。
为了方便双向扫描,起止字符具有不对称结构。因此扫描器扫描时可以自动对条码信息重新排列。条码扫描器有光笔、CCD、激光、影像四种
▲光笔:最原始的
扫描方式,需要手动移动光笔,并且还要与条形码接触。
▲CCD:以CCD作为光电转换器,LED作为发光光源的扫描器。在一定范围内,可以实现自动扫描。并且可以阅读各种材料、不平表面上的条码,成本也较为低廉。但是与激光式相比,扫描距离较短。
▲激光:以激光作为发光源的扫描器。又可分为线型、全角度等几种。
▲影像:以光源拍照利用自带硬解码板解码,通常影像扫描可以同时扫描一维及二维条码,如Honeywell引擎。
线型:多用于手持式扫描器,范围远,准确性高。
全角度:多为工业级固定式扫描,自动化程度高,在各种方向上都可以自动读取条码及输出电平信号,结合传感器使用。
三、编码规则
3.1、规则
唯一性:同种规格同种产品对应同一个产品代码,同种产品不同规格应对应不同的产品代码。根据产品的不同性质,如:重量、包装、规格、气味、颜色、形状等等,赋予不同的
商品代码。
永久性:产品代码一经分配,就不再更改,并且是终身的。当此种产品不再生产时,其对应的产品代码只能搁置起来,不得重复起用再分配给其它的商品。
无含义:为了保证代码有足够的容量以适应产品频繁的更新换代的需要,最好采用无含义的顺序码。
3.2、条形码校验码公式:
1.首先,把条形码从右往左依次编序号为“1,2,3,4……”从序号二开始把所有偶数序号位上的数相加求和,用求出的和乘3,再从序号三开始把所有奇数序号上的数相加求和,用求出的和加上刚才偶数序号上的数,然后得出和。再用10减去这个和的个位数,就得出校验码。
举个例子:
此条形码为:977167121601X(X为校验码)。
1.1+6+2+7+1+7=24
2.24×3=72
3.0+1+1+6+7+9=24
4.72+24=96
5.10-6=4
所以最后校验码X=4。此条形码为9771671216014。
如果第5步的结果个位为10,校验码是0;也就是说第4步个位为0的情况.
四、码制区别
UPC[统一产品代码]:只能表示数字,一般12位-7位
code 3:能表示字母、数字和其它一些符号共43个字符:A -Z,0 - 9,-.$/+%,pace 条形码的长度是可变化的,通常用“*”号作为起始、终止符校验码不用代码密度介于3 - 9.4个字符/每英寸,空白区是窄条的10倍,用于工业、图书、以及票证自动化管理上。
code 128:表示高密度数据, 字符串可变长,符号内含校验码,有三种不同版本:A,B,and C 可用128个字符分别在 A,B,or C 三个字符串集合中,用于工业、仓库、零售批发。
codabar[库德巴码]:可表示数字0 - 9,字符$、+、 -、还有只能用作起始/终止符的a,b,c d四个字符,可变长度,没有校验位,应用于物料管理、图书馆、血站和当前的机场包裹发送中,空白区比窄条宽10,非连续性条形码,每个字符表示为4条3空。Codabar 又名 NW 7,NW 7是在日本的叫法。
QR码:QR码呈正方形,常见的是黑白两色。在3个角落,印有较小,像“回”字的的正方图案。这3个是帮助解码软件定位的图案,用户不需要对准,无论以任何角度扫描,数据仍可正确被读取。
PDF417(二维码):多行组成的条形码,不需要连接一个数据库,本身可存储大量数据,应用于:医院、驾驶证、物料管理、货物运输,当条形码受一定破坏时,错误纠正能使条形码能正确解码PDF417,是讯宝(Symbol)科技公司于1990年研制的产品。它是一个多行、连续性、可变长、包含大量数据的符号标识。每个条形码有3 - 90行,每一行有一个起始部分、数据部分、终止部分。它的字符集包括所有128个字符,最大数据含量是1850个字符。
符合条码:这是一种新出现的码制类型,由两个很靠近的条码符号组成,并包含互相关联的数据。通常其中一个是线性符号而另一个是堆叠或阵列符号。
详细参看:百度百科
五、编码区别
5.1、一维条形码
一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于
阅读器的对准。
一维条形码的应用可以提高信息录入的速度,减少差错率,但是一维条形码也存在一些不足之处:
* 数据容量较小:30个字符左右
* 只能包含字母和数字
* 条形码尺寸相对较大(空间利用率较低)
* 条形码遭到损坏后便不能阅读
5.2、二位条形码
在水平和垂直方向的二维空间存储信息的条形码, 称为二维条形码(2-dimensional bar code)。
与一维条形码一样,二维条形码也有许多不同的编码方法,或称码制。就这些码制的编码原理而言,通常可分为以下三种类型
⒈ 线性堆叠式二维码
是在一维条形码编码原理的基础上,将多个一维码在纵向堆叠而产生的。典型的码制如:Code 16K、Code 49.PDF417等。
2.矩阵式二维码
是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。典型的码制如:Aztec、Maxi Code、QR Code、 Data Matrix等。
3. 邮政码
通过不同长度的条进行编码,主要用于邮件编码,如:Postnet、BPO 4-State。
在许多种类的二维条形码中,常用的码制有:Data Matrix,Maxi Code,Aztec,QR Code,Vericode,PDF417,Ultracode,Code 49,Code 16K 等,其中:
* Data Matrix 主要用于电子行业小零件的标识,如
英特尔(Intel)的奔腾处理器的背面就印制了这种码。
* Maxi Code 是由美国联合包裹服务(UPS)公司研制的,用于包裹的分拣和跟踪。
* Aztec 是由美国
韦林(Welch Allyn)公司推出的,最多可容纳3832个数字或3067个字母字符或1914个
字节的数据。
5.3、彩色条形码
彩色条码主要是结合带有视像镜头的手提电话或个人电脑,利用镜头来阅读杂志、报纸、电视机或电脑屏幕上的颜色条码,并传送到数据中心。数据中心会因应收到的颜色条码来提供网站资料或消费优惠。