一、二维码的简介

 

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

二、二维码的分类

 

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

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

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

2、矩阵式二维码

短阵式二维条码(又称棋盘式二维条码)它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。矩阵式二维条码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。具有代表性的矩阵式二维条码有:Code One、Maxi Code、QR Code、 Data 
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 地址和其他类型的数据加密。QR码1994年由日本Denso-Wave公司发明,QR码的标准JIS X 0510在1999年1月发布,而其对应的ISO国际标准ISO/IEC18004,则在2000年6月获得批准。根据Denso Wave公司的网站资料,QR码是属于开放式的标准,QR码的规格公开,而由Denso Wave公司持有的专利权益,则不会被执行。除了标准的QR码之外,也存在一种称为“微型QR码”的格式,是QR码标准的缩小版本,主要是为了无法处理较大型扫描的应用而设计。微型QR码同样有多种标准,最高可储存35个字元。

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

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

编码字符集

 

1、数字型数据(数字0~9);

2、字母数字型数据(数字0~9;大写字母A~Z;9个其他字符:space ,$, %, *, +, -, ., /, :);

3、8位字节型数据;

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二维码的一些简介、功能相关推荐

  1. Atitit java 二维码识别 图片识别

    Atitit java 二维码识别 图片识别 1.1. 解码1 1.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.1 1.3. 二维码的样例:2 1.4. 定位图案2 1. ...

  2. 【笔记11】uniapp点击复制;mysql数据库存储emoji表情;Java 二维码生成;uniapp引入自定义图标

    目录 前言 一.uniapp 实现点击复制某段文本 二.MySQL 数据库存储 emoji 表情 三.Layui 的富文本编辑器 四.谷歌 Java 二维码生成 (1) 引入 MAVEN 依赖 五.微 ...

  3. java二维码编码生成并转换成流传入前端页面

    java二维码编码生成并转换成流传入前端页面 这里主要用了com.google.zxing的依赖,这个依赖主要可以完成图片叠加.二维码生成和图片加文字等功能. ①添加依赖 <dependency ...

  4. java二维码生成-谷歌(Google.zxing)开源二维码生成学习及实例

    java二维码生成-谷歌(Google.zxing)开源二维码生成的实例及介绍  这里我们使用比特矩阵(位矩阵)的QR码编码在缓冲图片上画出二维码 实例有以下一个传入参数 OutputStream o ...

  5. java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成、解析、下载

    java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成.解析.下载 自己用java搭建一个属于自己APP二维码合成网站.我的思路是这样的: 1.用户在前台表单提交APP的IOS和Andro ...

  6. 使用 iview 实现PC端生成推广海报与二维码并下载的功能,基于iview Modal 对话框 与 Carousel 走马灯组件实现

    使用 iview 实现PC端生成推广海报与二维码并下载的功能,基于iview Modal 对话框 与 Carousel 走马灯组件实现 前言:最近在对公司网页进行改版的时候遇到一个问题,需要在PC端实 ...

  7. PHP资格证书查询系统源码 自动生成二维码 支持导入导出功能

    PHP资格证书查询系统源码 自动生成二维码 支持导入导出功能 程序说明: PHP资格证书查询系统源码 证书管理? 自动生成二维码 支持导入和导出功能 采用fastadmin框架开发而成 PHP资格证书 ...

  8. java二维码的生成工具

    java二维码的生成工具 1.导入jar包,我是用的是一个谷歌提供的 <dependency><groupId>com.google.zxing</groupId> ...

  9. java二维码小试牛刀

    旁白: 由于工作需要,要做一个java的二维码的图片,花了2天的时间学习了一下,过程中也遇到了一些问题,这里做个笔记,收藏了. 废话不多说了,入题吧! 转自:http://www.open-open. ...

最新文章

  1. 使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果
  2. 榜单|新冠病毒席卷全球,世界医疗水平大比拼
  3. android监控来电显示
  4. hdu_1358Period(kmp找循环前缀)
  5. 教职工使用计算机管理制度,【学校管理规章制度】教师笔记本电脑使用与管理制度...
  6. 在iview的Table中添加Select(render)
  7. 求一个二维数组外围元素之和_C++数组作为函数的参数(学习笔记:第6章 04)...
  8. zk框架_ZK Web框架思想
  9. php在线编辑器fckeditor,[原创]继续给力:PHP中使用FckEditor在线编辑器详解
  10. eclipse调试java web_eclipse调试web项目
  11. springboot响应结果超长(7.8M)浏览器无法接收
  12. if....else的基本用法
  13. Android开发之JSON使用
  14. 5年500台达芬奇手术,和睦家实现技术升级
  15. 圣人、仁人、君子、善人、士、小人之名简释
  16. 为什么很多企业都是采用IT人力外包服务?
  17. C++课程设计指导书
  18. 黑马程序员MySQL视频操作代码-P79
  19. ABP VNext学习日记5
  20. 5G技术全面融入ROS2新一代机器人操作系统大量成果推出(2020整理翻译版)

热门文章

  1. 凤凰os可以运行linux软件吗,手机玩游戏不爽?来试试Phoenix OS凤凰系统
  2. C语言练习之温度转换
  3. 怎么制作多格视频?手机就能搞定
  4. 2021年,从事数据分析行业前景如何?还能转行数据分析师吗?(下)
  5. 阿里云服务器安装postgresql
  6. 公司的“奋斗者协议”签不签?网友吐槽:你敢让我签我就敢辞
  7. python读word文档计算字数_python读取word文档
  8. excel单元格内容拆分_拆分单元格内容,表哥表妹不要哭
  9. 【Vue3】vue3获取对象长度(非数组长度)
  10. STM32F4的DMA