1.什么是条形码及其应用

  条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的规则排列,用来表示一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条和白条排成的平行线图案。

条形码可以表示出物品的生产国,制造厂家,商品名称,生产日期,图书分类号,邮件起止地点,类别,日期等许多信息,因而在商品流通,图书管理,邮政管理,银行系统等许多领域得到广泛的应用。

2.条形码-识别原理

要将按照一定规则排列出来的条形码转换成有意义的信息,需要经过扫描和译码两个过程。

众所周知,物体的颜色是由反射光的类型决定的,白色物体能反射任意波长的可见光,黑色物体能吸收各种波长的可见光,当条形码扫描器发出的光源在条形码上反射后,反射光照射到条形码扫描器的光电转换器上,光电转换器根据强弱不同的反射光信号,转换成响应的电信号。

根据原理的差异,扫描器可以分为:光笔,CCD,激光三种。电信号输出到条形码扫描器的放大电路增强信号之后,再送的整形电路将模拟信息号转换成数字信号。

原理:条形码扫描器扫描条形码-----反射信息---条形码扫描器光电转换器----电信号----条形码扫描器整形电路----数字信息(0,1)

白条和黑条的宽度不同,相应的电信号持续时间长短也不同。然后驿马器通过测量脉冲数字电信号0,1数目来判断条和空的数目,通过测量0,1号持续的时间来判断条和空的宽度。此时得到的数据任然是杂乱无章的,要知道条形码所包含的信息,则需要根据对应的编码规则(例如:EAN-8码),将条形码符号转换成数字,字符信息。最后,有计算机系统进行数据处理与管理,物品的详细信息便被识别了。

3.条形码-扫描方法

  条形码的扫描需要扫描器,扫描器利用自身光源照射条形码,再利用光电转换器接受反射的光信号,将反射光线的强弱转换成数字信息。无论采用何种方式生成的条形码都包括:静区,起始字符,数据字符和终止字符。有些条形码在数据字符和终止字符之间还有校验字符。

静区:不包含任何信息的区域,起到提示作用。

起始字符:第一位字符,有特殊的位置,当扫描器扫描到该字符后,便开始正式读取代码了。

数据字符:条形码的主要内容。

校验字符:校验读取到的信息是否正确,不同的编码规则可能有不同的校验规则。

终止字符:最后一位字符,具有独特的机构,用于告知代码扫描完毕,同时还起到只是进行校验计算的作用。

4.编码规则

条形码因为条形规则不同而形成多种码子。

Code 128:表示高密度数据,字符串可变长,符号内含校验码,有三种不同版本;A,B,AND C ,可以用128个字符分别在A,B OR C三个字符串集合中。

5.二维码:

在水平和垂直方向的二维空间存储信息的条形码,称为二维码,与一维条形码一样,二维条形码也有许多不同的编码方法。

Java条形码生成方案及二维码要点的更多相关文章

  1. JAVA中生成、解析二维码图片的方法

    JAVA中生成.解析二维码的方法并不复杂,使用google的zxing包就可以实现.下面的方法包含了生成二维码.在中间附加logo.添加文字功能,并有解析二维码的方法. 一.下载zxing的架包,并导 ...

  2. java后台生成并下载二维码

    这个功能在项目开发中是很基础的,平时用到的也很多,这里简单记录一下,以便以后使用的时候参考 前提业务要求:前台页面展示数据,有下载按钮,点击下载,下载对应数据的二维码. 首先,在pom.xml文件中添 ...

  3. java生成和解析二维码

    前言 现在,二维码的应用已经非常广泛,在线生成器也是诸多,随手生成. 所以就和大家分享一个小案例,用zxing来做一个的二维码生成器,当然这个例子是比较简单,若是写的不好请多多包涵. ZXING项目是 ...

  4. Java生成与解析二维码

    1.下载支持二维码的jar包qrcode.jar和qrcode_swetake.jar, 其中qrcode_swetake.jar用于生成二维码,rcode.jar用于解析二维码,jar包下载地址(免 ...

  5. java利用Google Zxing实现 二维码生成与解析

    1.引入zxing 2.使用下面两个类:QRCodeUtil.java和BufferedImageLuminanceSource.java 3.新建单元测试类 复制下面测试代码即可. 1.pom文件中 ...

  6. Java生成、解析二维码

    今天遇到需求,使用Java生成二维码图片,网搜之后,大神们早就做过,个人总结一下. 目标:借助Google提供的ZXing Core工具包,使用Java语言实现二维码的生成和解析. 步骤如下: 1.m ...

  7. Java使用QRCode.jar生成与解析二维码

    原文V:http://www.cnblogs.com/bigroc/p/7496995.html#3797682 正题:Java使用QRCode.jar生成与解析二维码demo 欢迎新手共勉,大神监督 ...

  8. 使用Google提供的ZXing Core,Java生成、解析二维码

    1.maven项目中,pom.xml中引入ZXing Core工具包: <!-- https://mvnrepository.com/artifact/com.google.zxing/core ...

  9. ZXing 生成、解析二维码图片的小示例

    概述 ZXing 是一个开源 Java 类库用于解析多种格式的 1D/2D 条形码.目标是能够对QR编码.Data Matrix.UPC的1D条形码进行解码. 其提供了多种平台下的客户端包括:J2ME ...

随机推荐

  1. Python爬取17吉他网吉他谱

    最近学习吉他,一张一张保存吉他谱太麻烦,写个小程序下载吉他谱. 安装 BeautifulSoup,BeautifulSoup是一个解析HTML的库.pip install BeautifulSoup4 ...

  2. 使用Yeoman搭建 AngularJS 应用 (1) —— 介绍

    原文地址:http://yeoman.io/learning/ Yeoman 是一个通用的可以创建多种应用的基架系统.它帮助用户快速搭建新的项目,并且可以简化已存在项目的维护过程. Yeoman是不限 ...

  3. JNA—JNI终结者

    JNA—JNI终结者 介绍 给大家介绍一个最新的访问本机代码的Java框架—JNA. JNA(Java Native Access)框架是一个开源的Java框架,是SUN公司主导开发的,建立在经典的J ...

  4. c++ 联合体

    联合体分配的内存大小是成员变量中最大变量的大小 联合体的成员变量共享内存 小段模式(X86就是) 低位数据存在低地址单元 大端模式                     高位字节存在低地址单元

  5. 再写FFT模板

    没什么好说的,今天又考了FFT(虽然不用FFT也能过)但是确实有忘了怎么写FFT了,于是乎只有重新写一遍FFT模板练一下手了.第一部分普通FFT,第二部分数论FFT,记一下模数2^23*7*17+1 ...

  6. 【弱省胡策】Round #6 String 解题报告

    感觉这个题好神啊. 首先我们只管 $a = b$ 的情况,那么我们自然就可以把这个串对 $a$ 取模,然后用 KMP 求出能弄出几个其他的 B 串. 具体就是把串先倍长,然后倒过来,然后求 $Next ...

  7. xxx couldn't be loaded because it has not been added to the build settings.

    这个由于没有将进入场景放入Build Settings里面造成的.

  8. mysql中实现行号,oracle中的rowid

    mysql中实现行号需要用到MYSQL的变量,因为MySql木有rownumber. MYSQL中变量定义可以用 set @var=0 或 set @var:=0 可以用=或:=都可以,但是如果变量用 ...

  9. PHP 系统常量及自定义常量

    __FILE__ 这个默认常量是 PHP 程序文件名.若引用文件 (include 或 require)则在引用文件内的该常量为引用文件名,而不是引用它的文件名. __LINE__ 这个默认常量是 P ...

  10. 在8086中,[ idata],[bx]表示内存单元时。可能是一个字节,也可能是一个字。

    可能表示一个字节,也可能表示一个字.主要由指令中另一个计算对象决定.如al表示一个字节.ax就表示一个字. 这个区别主要体现在循环中,偏移地址的循环变量是加1还是加2,al是偏移地址加1,ax是偏移地 ...