二维码是在横向及纵向都会记录数据,二维码是在一维码的基础上扩展出的,具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。 随着智能手机的使用人群越来越广泛,基于二维码的应用也越来越多。
我们常说的二维码其实是QR
码(Quick Response Code
),是众多二维码种类中的一员。
QR
码通常都是一个由黑白方块组成的正方形。 左上、右上、左下三个角落均有一个「回」字状的定位标识,保证程序在读取内容时可以正确的识别。
QR
码还具有容错机制,即使图案有一定的破损,仍可保证内容能够被正确的读取。 生成的QR
码图案容错率一般为7%,最高可达到30%。下图是同一内容,30%容错率的示例。
从QR
码(Quick Response Code
)的名字就可以想到了他的用途。 他的用途就是为了方便人们快速获取信息、或者快速操作的,以减少不必要的输入。
QQ浏览器集成了网址生成QR
码的功能,可将当前访问的网址生成一张二维码图片,用手机App扫描时即可快速访问。
微信的多设备登陆,可以通过已经登陆的设备扫描另外一个设备进行登陆,而不需要重新输入用户名和密码。
支付宝付款,可以通过扫描二维码付款。
QR
码本质上就是把一串文本编码转换成一张图片,我们使用设备扫描这个图片,获得编码前的文本信息。 所以,我们可以利用这个做任何事情,只是我们可能需要自己定义这个文本的格式,以便被设备扫描后,能够正确的解析、处理。
新浪微博很好的利用了QR
码的容错机制,在二维码图案中加入用户头像,增强识别力。
微信的QR
码,在原有二维码图案的基础上加入了一些美化元素。
由于QR
码拥有良好的容错和定位机制,所以我们完全可以在原有黑白图案的基础上进行再设计。
只要保证足够的对比度,二维码图片包含的内容就可以很容易的被读取出来。
C | qrencode |
Objective-C | qrencode |
Java | ZXing |
Android | ZXing |
JavaScript | jquery-qrcode |
Node.js | qrencode_mini |
Shell | qrencode |