Java二维码


一、二维码的简介

二维码起源于日本,世界应用最广泛识别码,原本为追踪汽车零部件设计。二维条码/二维码 (2-dimensional bar code) 是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。 维条码的长度、宽度均记载着数据。目前营销价值高的二维码是微信二维码,微信用户庞大且可自行操控二维码后台。

 

二、二维码的分类

 

二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码。堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成;矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用表示二进制“1”, 用表示二进制“0”,由的排列组
代码。

1堆叠式/行排式二维条码

堆叠式/行排式二维条码(又称堆积式二维条码或层排式二维条码),其编码原理是建立在一维条码基础之上,按需要堆积成二行或多行。它在编码设计、校验原理、识读方式等方面继承了一维条码的一些特点,识读设备与条码印刷与一维条码技术兼容。但由于行数的增加,需要对行进行判定,其译码算法与软件也不完全相同于一维条码。有代表性的行排式二维条码有:Code 16KCode 49PDF417等。 

2、矩阵式二维码

短阵式二维条码(又称棋盘式二维条码)它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。矩阵式二维条码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。具有代表性的矩阵式二维条码有:Code OneMaxi CodeQR CodeData 
Matrix等。

在目前几十种二维要码中,常用的码制有:PDF417二维条码, Datamatrix二维条码, Maxicode二维条码, QR Code, Code 49, Code 16K ,Code one,等,除了这些常见的二维条码之外,还有Vericode条码、CP条码、Codablock F条码、田字码、 Ultracode条码,Aztec条码。

 

三、二维码功能

 

信息获取(名片地图WIFI密码、资料)

网站跳转(跳转到微博、手机网站、网站

广告推送(用户扫码,直接浏览商家推送的视频、音频广告)

手机电商(用户扫码、手机直接购物下单)

防伪溯源(用户扫码、即可查看生产地;同时后台可以获取最终消费地)

优惠促销(用户扫码,下载电子优惠券,抽奖)

会员管理(用户手机上获取电子会员信息、VIP服务)

手机支付(扫描商品二维码,通过银行或第三方支付提供的手机端通道完成支付) 

  

四、特点

 

1.高密度编码,信息容量大:可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。

2.编码范围广:该条码可以把图片、声音、文字、签字、指纹等可以数字化的信息进行编码,用条码表示出来;可以表示多种语言文字;可表示图像数据。

3.容错能力强,具有纠错功能:这使得二维条码因穿孔、污损等引起局部损坏时,照样可以正确得到识读,损毁面积达50%仍可恢复信息。

4.译码可靠性高:它比普通条码译码错误率百万分之二要低得多,误码率不超过千万分之一。

5.可引入加密措施:保密性、防伪性好。

6.成本低,易制作,持久耐用。

7.条码符号形状、尺寸大小比例可变。

8.二维条码可以使用激光或CCD阅读器识读。

 

五、优缺点

 

优点

1.高密度编码,信息容量大。

2.编码范围广。

3.容错能力强,具有纠错功能。

4译码可靠性高。

5.可引入加密措施。

6.成本低,易制作,持久耐用。

缺点

手机病毒、钓鱼网站传播的新渠道,还有部分病毒则是犯罪分子伪装成应用的吸费木马,一旦下载就会导致手机自动发送信息并扣取大量话费 ,其实绝大部分的恶意二维码都很难直接扣除手机费,而是通过引诱用户安装程序来实施诈骗。

提示:

如果您是个扫码控,可以选用有识别功能的扫码器实时监控,比如360安全卫士等软件,都已经加入了一个监测功能,扫到有可疑网址时,会作出安全提醒。假如是通过二维码来安装软件,在安装好后,先用杀毒软件扫描一遍再打开。

 

六、QR Code

 

QR码的“QR”Quick Response的缩写。这种二维码能够快速读取,与之前的条形码相比,QR码能存储更丰富的信息,包括对文字、URL地址和其他类型的数据加密。QR1994年由日本Denso-Wave公司发明,QR码的标准JIS X 051019991月发布,而其对应的ISO国际标准ISO/IEC18004,则在20006月获得批准。根据Denso Wave公司的网站资料,QR码是属于开放式的标准,QR码的规格公开,而由Denso Wave公司持有的专利权益,则不会被执行。除了标准的QR码之外,也存在一种称为微型QR的格式,是QR码标准的缩小版本,主要是为了无法处理较大型扫描的应用而设计。微型QR码同样有多种标准,最高可储存35个字元。

因其不再使用线性扫描的方式工作,而是使用红外光增强的摄像头工作,直接对镜头拍摄到的图像中的QR码图像进行软件识别,所以对反射角度的要求降低了。二维码扫描器甚至能对液晶屏幕上显示的条码进行扫描(识别)(但垂直位于屏幕上的条码上方时容易因自带红外光源在屏幕上的反光而影响识别),所以可以直接扫描到手机等屏幕上显示的条码。

QR 码呈正方形,只有黑白两色。在4个角落的其中3个,印有较小,像字的的正方图案。这3 个是帮助解码软件定位的图案,使用者不需要对准,无论以任何角度扫描,资料仍可正确被读取。

 

编码字符集

 

1、数字型数据(数字09);

2、字母数字型数据(数字09;大写字母AZ9个其他字符:space$, %, *, +, -, .,/, :);

38位字节型数据;

4、日本汉字字符;

5、中国汉字字符(GB 2312对应的汉字和非汉字字符)。

QR码符号的基本特性

符号规格21×21模块(版本1-177×177模块(版本40(每一规格:每边增加4个模)

数据类型与容量(指最大规格符号版本40-L级)

· 数字数据:7,089个字符

· 字母数据:4,296个字符

·8位字节数据:2,953个字符

· 中国汉字、日本汉字数据:1,817个字符

数据表示方法 深色模块表示二进制“1”,浅色模块表示二进制“0”

 

资料容量

 

数字 最多 7,089字节

字母 最多 4,296字节

二进位数 (8 bit) 最多 2,953 字节

日文汉字 / 片假名 最多1,817 字节 (采用Shift_JIS

中文汉字 最多 984字节 (采用UTF-8)中文汉字最多1,800字符(采用BIG5

 

错误修正容量

 

L水平 7%的字码可被修正

M水平 15%的字码可被修正

Q水平 25%的字码可被修正

H水平 30%的字码可被修正

 

QR二维码的应用

 

二维码可根据资讯内容的多少、应用的功能需求生成码图。一般简单表层的应用可将信息内容直接生成QR二维码使用。若作为有商业价值的应用,想包含更多资讯内容和延伸扩展服务,就需要开发QR二维码深层应用。

QR二维码表层应用多见于:发票、车票,简单的资讯型应用。

优点:普通解码软件解码

缺点:信息不能修改编辑、仅限简单内容、不能交互信息、无加密

QR二维码深层应用多见于:验证、防伪、追溯、签到、军事、更多能交互信息的商业应用服务上。

优点:使用专业解码软件、加密机制不被破解、丰富资讯内容、系统管理、可编辑修改、与用户交互信息、更多扩展功能、具商业价值的应用

缺点:手机应用国内标准未统一,需根据手机系统开发、下载

二维码表层的信息应用很简单,与一维条码差别不大。要实现极具商业价值的应用,必需使用二维码深层的核心技术,也是QR二维码真正的价值所在。。QR系统管理迅速在各国企业界扩展,QR方法成为企业实现竞争优势的工具。

 

七、使用java生成QR二维码的三个工具

 

1、使用SwetakeQRCode在java项目中生成二维码,这个是日本人写的生成常见的方形二维码,可用中文。

Jar下载地址http://swetake.com/qr/

或http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip/

具体使用:TwoDimensionCode工具类中的main方法

2、使用BarCode4j生成条形码和二维码

BarCode4j网址http://sourceforge.net/projects/barcode4j/

barcode4j是使用datamatrix的二维码生成算法,为支持qr的算法 
datamatrix是欧美的标准,qr为日本的标准, 
barcode4j一般生成出来是长方形的

 

3、zxing 

这个是谷歌的

地址http://code.google.com/p/zxing/downloads/list

 

你可能感兴趣的:(Java二维码)