- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
如文档对你有用,请下载支持!
QR二维码的生成与识别原理
一、简介
二维码(2-dimensionalbarcode),是用某种特定的几何图形按一定规律在平面(二
维方向上)分布的黑白相间的图形记录数据符号信息的。二维码的种类包括:QR
Code,DataMatrix,MaxiCode,Aztec,Vericode,PDF417,Ultracode,Code49,Code16K等。
其中QRCode是被广泛使用的二维码,QR全称QuickResponse,与其他编码方式相比,
QR二维码具有存储容量大、编码速度快的特点,并且它也能表示更多的数据类型:比
如:字符,数字,日文,中文等等。随着近几年智能手机的迅猛发展,QR二维码得到
了广泛的应用。
关于QR二维码的标准,可参见标准文档(QRCodeSpec):
二、应用现状
随着智能机的普及和手机摄像头成像能力的提升,为了提高向机器内输入信息的速
度,QR二维码得到迅猛发展,在许多行业中得到应用。
在一维码时代,“扫码”主要应用在超市或图书馆等场所,以获取商品价格或图书
分类等有限的特定信息。二维码可以存储大容量数据,给人们的生活带来巨大方便。
从开始的扫描二维码提取文字或网址,到后来“扫一扫”添加好友、关注个人或公
司微信或微博,再到扫码支付,二维码的应用已经非常普遍。
三、基础知识
QR码可分为不同的尺寸,或者叫版本Version。Version1是21x21的矩阵,Version
2是25x25的矩阵,Version3是29的尺寸,每增加一个version,就会增加4的尺寸,
公式是:(V-1)*4+21(V是版本号)最高Version40,(40-1)*4+21=177,所以最高是
177x177的正方形。
样例如下:
定位图案
如文档对你有用,请下载支持!
PositionDetectionPattern是定位图案,用于标记二维码的矩形大小。这三个定位图
案有白边叫SeparatorsforPostionDetectionPatterns。之所以三个而不是四个意思就是三
个就可以标识一个矩形了。
TimingPatterns也是用于定位的。原因是二维码有40种尺寸,尺寸过大了后需要
有根标准线,不然扫描的时候可能会扫歪了。
AlignmentPatterns只有Version2以上(包括Version2)的二维码需要这个东东,
同样是为了定位用的。
功能性数据
FormatInformation存在于所有的尺寸中,用于存放一些格式化数据的。
VersionInformation在Version7以上,需要预留两块3x6的区域存放一些版本信
息。
数据码和纠错码
除了上述的那些地方,剩下的地方存放DataCode数据码和ErrorCorrection
Code纠错码。
四、数据编码
QR码支持如下的编码:
Numericmode:数字编码,从0到9。如果需要编码的数字的个数不是3的倍数,
那么,最后剩下的1或2位数会被转成4或7bits,则其它的每3位数字会被编成10,
12,14bits,编成多长还要看二维码的尺寸。
Alphanumericmode:字符编码,包括0-9,大写的A到Z(没有小写),以及符号
$%*+–./:包括空格。这些字符会映射成一个字符索引表。如下所示:(其中的SP
是空格,Char是字符,Value是其索引值)编码的过程是把字符两两分组,然后转成
下表的45进制,然后转成11bits的二进制,如果最后有一个落单的,那就转成6bits
的二进制。而编码模式和字符的个数需要根据不同的Version尺寸编成9,11或13个二
进制(如下
文档评论(0)