定义

1
2
二维码在移动互联时代已经在生活中随处可见,我理解的二维码:简单说就是承载特殊信息的图形图形载体;
用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的
+ 条形码,黑白相间 下面有几何数字
+ 二维码,黑白相间的几何图形

分类

+ 线性堆叠式二维码,[一维条码堆叠]
+ 矩阵式二维码(棋盘式条码)

优缺点对比

+ 条形码 
-信息量有限
-打印读取慢
(之前和同事合作做电影票条码打印的时候感受过,限制在一定字节内,字符就像打印机一样滋滋的一个一个打印,耗时当然也有硬件原因)

+ 二维码
- 信息量大
- 编码范围广(因为本身是二进制编码 可以理解为所有事物都可进行编码)
- 容错能力强,驿码可靠性高(在部分缺失的情况下能够完成信息读取)
- 可引入加密措施(比如专门的协议)
- 成本低,容易制作

+ 缺点
- 是病毒,钓鱼网站的传播新渠道
- 容易信息泄密, 比如快递信息,车票信息二维码(当然现在都有加密或者脱敏或者动态识别处理)

image

技术派

## 目前流行的三大国际标准二维码
+ PDF417:不支持中文编码
+ DM:专利,未公开,使用须专利授权
+ QRcode: 专利,公开,算法,支持中文 (Quik Response code 是日本一家企业研制的一种矩阵二维信息码)
(QR code 对比其他优势 识别速度快,数据密度大,占用空间小)

纠错能力(图形图形不完整的情况下提供准确信息的能力)

1
2
3
4
L级:约可纠错7%的数据码字
M级:约可纠错15%的数据码字
Q级:约可纠错25%的数据码字
H级:约可纠错30%的数据码字

PHP 生成 QR code

1
2
3
4
5
6
7
8
require_once './phpqrcode/phpqrcode.php';  

$value = "test leo yan"; //二维码内容

$errorCorrectionLevel = 'L';//纠错 默认
$matrixPointSize = 5; //生成图片大小
$filename = 'qrcode/'.microtime().'.png'; //生成二维码图片
QRcode::png($value,$filename , $errorCorrectionLevel);

JavaScript 生成QRcode

http://code.ciaoca.com/javascript/qrcode/


参考链接-百科
参考链接-官网