二维码生成与识别原理修订版.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

150****1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档