基于WebQR二维码编码解码的应用
作者:黄镇建 蔡英
来源:《电脑知识与技术》2014年第24
        摘要:QR二维码的应用广泛,该文通过一个简单的项目,实现了基于WebQR编码与解码的过程,可扩展至各种具体的应用,具有较大的参考意义。
        关键词:QR码;二维码;编码;解码
        中图分类号:TP393 文献标识码:A 文章编号:1009-3044201424-5671-02
        当前,QR二维码广泛地应用于各种商业活动,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共享等。应用方通过Web平台将业务信息加密、编制成二维码图像后,通过短信或彩信的方式将二维码发送至用户的移动终端上,用户使用时通过设在服务网点的专用识读设备对移动终端上的二维码图像进行识读认证,作为交易或身份识别的凭证来支撑各种应用[1]
        本文以一个简单的web项目为例,介绍QR二维码的编码及解码的应用。
        1 QR二维码简介[2]
        QR码(Quick Response Code)即快速响应矩阵码,是日本Denso公司于19949月研制的一种矩阵二维码,能够有效地表示中国汉字和日本汉字,具有信息容量大、可靠性高、高速识读性和全方位(360°)识读等特点。
        一个完整的QR码一般由两部分组成:功能图形和编码区域。QR 码结构如图1所示:
        功能图形包括寻像图形、分隔符、定位图形、校正图形。QR码对于不同的数据和不同的版本都保持相同的大小和形状,通过功能图形为QR码的识别提供基准和确定的位置。编码区域包括数据码字、纠错码字、格式信息和版本信息,具体的图形根据输入数据、版本号、纠错等级而变化。
        QR码具有140个不同的版本,每一个版本的符号比前一版本的符号在每条边上增加了4个模块,版本1的大小是21模块*21模块,版本2的是25模块*25模块,版本40的模块大小是177*177QR码有4个纠错等级,分别用字母LMQH表示,对应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所示。
        3 解码实现流程图
        2.2 解码实现流程
        decode.jsp页面中选择本地要解码的QR图片,如选择上一步编码形成的QR图片韩山师范学院.png”,上传到服务器,由服务器的Servlet程序QRCodeDecode.java来处理,Servl
et程序调用QR解码程序QRCodeDecodeHandler.java实现解码,解码后结果韩山师范学院字符在页面中显示出来,实现流程如图3所示,运行结果如图6所示。
        3 总结电脑
        本文实现了在web平台上QR二维码编码和解码的过程,由此可以扩展至具体的二维码的应用,其核心技术都是相同的,对于安卓手机的二维码的编码和解码原理和实现过程,与此项目相似。
        参考文献:
        [1] 百度百科.二维码[OL].http//baike.baidu/view/132241.htmfr=aladdin.
        [2] 盛秋康.二维码编解码技术的研究与应用[D].南京:南京理工大学,2012.
        [3] 郭克华,李敏,陈志刚.Java Web程序设计[M].北京:清华大学出版社,2011.