二维码又称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 纠错码。
数据编码
大部分人感觉做自己的网站是非常复杂的,其实你去尝试一下,也是非常简单的,一起来跟随小编创建属于自己的网站吧。 创建自己的网站一般分为三个步骤: 第一、需要服务器空间,我们写的网页或者图片等等需要存...
买进用度: 1.佣金0.1%-0.3%,按照你的证券公司抉择,可是佣金最低收取尺度是5元。好比你买了1000元股票,实际佣金应该是3元,可是不到5元都凭据5元收取 2.过户... 我想去中...
微信如何定位好友位置不被发现 微信当今不但在年青人中最盛行,并且在家庭中的很多孩子或白叟中也很受迎接。 在应用微信的过程当中,咱们会发掘很多适用的...
黑客中介接单_淘宝找黑客人肉-找黑客弄回钱违法吗】$html.= $email; Description: HTML version 5, detected by the doct...
跟着人们是程度的晋升,各人对付饮品行业也是高要求高尺度的,各人纷纷想要通过对付饮品行业市场有高尺度严要求而得到更多的成长。奶茶是公共消费者很是喜爱的美食饮品,并且奶茶是适宜许多人群的,无论是学生党照旧...
在社区产品中,运营的角色是全方位地对社区生态做搭建与落地,在这个过程中运营人员关注的不只是零星几个数据指标,而是全局思考社区生态的建设与发展。 经过在工作中不断的学习、实践和思考,我逐渐开始理解为什...