国际惯例,先来个知识普及:QRcode(学名为快速响应矩阵码)是二维条码的一种。并且QR码有容错能力,QR码图形如果有破损,仍然可以被机器读取内容,最高可以到7%~30%面积破损仍可被读取。利用30万像素以上的照相手机,搭配手机内的QR码解码软件,对着QR码一照,解码软件会自动解读此信息,显示于手机屏幕上面。

由于最近在做一些mobile网页,每次测试都要输入网址十分麻烦,于是就想自己搞个二维码的生成工具。虽然网上有蛮多类似工具,可调用起来始终不是很方便,例如以后给每篇博文增加一个二维码,但如果是自己写的,那就想怎么用就怎么用。搜索一翻之后,发现原来Google开放平台已经提供了二维码的API接口,于是便自己着手研究了下。

参数说明:

//http://chart.apis.google.com/chart? : 调用Google API
//cht=qr :选择生产QR码
//chs=<width>x<height> :需要生成的二维码的尺寸
//chld=<error_correction_level>|<margin> :纠错等级。QR码支持四个等级的纠错,用来恢复丢失的、读错的、模糊的、数据。L-(默认)可以识别已损失7%的数据;M-可以识别已损失15%的数据;Q-可以识别已损失25%的数据;H-可以识别已损失30%的数据
//choe=<output_encoding>:声明生成的二维码所包含信息的编码,默认是 UTF-8 ;其他可选编码是 Shift_JIS 、 ISO-8859-1
//&chl= :需要生成二维码的内容

完整结构:

<script type="text/javascript">
document.write("<img src=\"https://chart.googleapis.com/chart/?cht=qr&chs=300x300&choe=UTF-8&chld=L|2&chl=http://www.bluesdream.com \"width=\"300\"height=\"300\"alt=\"二维码\"/>");
</script>

了解了上述代码,便能自己动手制作二维码生成器了:Demo

Google二维码文档:https://developers.google.com/chart/infographics/docs/qr_codes

更新:2014-01-06 GoogleAPI地址变更 chart.googleapis.com >>> chart.apis.google.com >>> https://chart.googleapis.com