二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下。供好学的人一同学习之。
关于QR Code Specification,可参看这个PDF:http://raidenii.net/files/datasheets/misc/qr_code.pdf
基础知识
首先,我们先说一下二维码一共有40个尺寸。官方叫版本Version。Version 1是21 x 21的矩阵,Version 2是 25 x 25的矩阵,Version 3是29的尺寸,每增加一个version,就会增加4的尺寸,公式是:(V-1)*4 + 21(V是版本号) 更高Version 40,(40-1)*4+21 = 177,所以更高是177 x 177 的正方形。
下面我们看看一个二维码的样例:
定位图案
Position Detection Pattern是定位图案,用于标记二维码的矩形大小。这三个定位图案有白边叫Separators for Postion Detection Patterns。之所以三个而不是四个意思就是三个就可以标识一个矩形了。
Timing Patterns也是用于定位的。原因是二维码有40种尺寸,尺寸过大了后需要有根标准线,不然扫描的时候可能会扫歪了。
Alignment Patterns 只有Version 2以上(包括Version2)的二维码需要这个东东,同样是为了定位用的。
功能性数据
Format Information 存在于所有的尺寸中,用于存放一些格式化数据的。
Version Information 在 >= Version 7以上,需要预留两块3 x 6的区域存放一些版本信息。
数据码和纠错码
除了上述的那些地方,剩下的地方存放 Data Code 数据码 和 Error Correction Code 纠错码。
数据编码
每日好文如何使用自身手机查媳妇和他人闲聊(媳妇微信如何和我手机同步) 不容易了解,除非是就是你用她的账户登录 你将你与媳妇儿的手机上绑 定在一起 ,也不可以了解媳妇儿和谁 闲聊,它是手机上通信的隐私保...
微积分入门(ap微积分历年试题)图灵教育2019-01-22 16:44:14 谈起高等数学,大伙儿有哪些印像?想来很多人会想到到繁杂的测算吧。乃至还会继续有些人想起这类场景——校园内的考試中,...
本文目录一览: 1、游戏行业相继制裁俄罗斯后,为应对制裁俄罗斯做出了怎样的反击之举? 2、俄罗斯黑客发动反击,目标西方十国政府,意大利政府网络已瘫痪 3、俄罗斯统一俄罗斯党官网近期多次遭黑客攻...
上周末(11月21日),Sunnee杨芸晴带着全新专辑《天气:晴》亮相苏州国潮音乐节。用热力音符,点燃苏州太湖园博园! 当天音乐节现场,Sunnee杨芸晴共带来...
一、电脑犯法吗黑客接单流程 1、黑客接单流程有时这群人被称为黑帽黑客。电脑犯法吗手机模拟网站但是,他们使用其他人的工具来教别人,而不使用任何深层次的技术应用程序。帝国电话的意义电脑犯法吗XXX帝国电话...
print 'response code: ' + str(r.status_code)尽管这个问题在06年就提出来了。 在11年的时分有了好几个优异的paper来研讨这个问题。 可是这个缝隙从来没有...