摘要:QR二维码的应用广泛,该文通过一个简单的项目,实现了基于Web的QR编码与解码的过程,可扩展至各种具体的应用,具有较大的参考意义。
关键词:QR码;二维码;编码;解码
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)24-5671-02
当前,QR二维码广泛地应用于各种商业活动,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共享等。应用方通过Web平台将业务信息加密、编制成二维码图像后,通过短信或彩信的方式将二维码发送至用户的移动终端上,用户使用时通过设在服务网点的专用识读设备对移动终端上的二维码图像进行识读认证,作为交易或身份识别的凭证来支撑各种应用[1]。
本文以一个简单的web项目为例,介绍QR二维码的编码及解码的应用。
1 QR二维码简介[2]
QR码(Quick Response Code)即快速响应矩阵码,是日本Denso公司于1994年9月研制的一种矩阵二维码,能够有效地表示中国汉字和日本汉字,具有信息容量大、可靠性高、高速识读性和全方位(360°)识读等特点。
一个完整的QR码一般由两部分组成:功能图形和编码区域。QR 码结构如图1所示:
功能图形包括寻像图形、分隔符、定位图形、校正图形。QR码对于不同的数据和不同的版本都保持相同的大小和形状,通过功能图形为QR码的识别提供基准和确定的位置。编码区域包括数据码字、纠错码字、格式信息和版本信息,具体的图形根据输入数据、版本号、纠错等级而变化。
QR码具有1到40个不同的版本,每一个版本的符号比前一版本的符号在每条边上增加了4个模块,版本1的大小是21模块*21模块,版本2的是25模块*25模块,版本40的模块大小是177*177。QR码有4个纠错等级,分别用字母L、M、Q、H表示,对应4种纠错容量。
2 编码与解码的实现
实现QR码的编码和解码需要使用两个类库:Qrcode_swetake.jar 和qrcode.jar。这两个类库在网上可以下载,使用Myeclipse开发工具。本项目设置二维码图片大小是140*140,版本为7,纠错等级设置为M,编码模式设置为B,字符长度不能超过120个,为了突出显示,特意将二维码背景色设置为绿色。
2.1 编码实现流程
在encode.jsp页面中输入要编码的字符,如“韩山师范学院”,点击“生成二维码”按钮,将所输入的字符提交给Servlet程序QRCodeEncode.java处理,Servlet程序调用QR编码程序QRCodeEncodeHandler.java实现编码,生成一张二维码图片,保存在硬盘中,并将生成的图片在页面中显示出来,实现流程如图2所示,运行结果如图4和图5所示。