标点符(钱魏 Way)

Google Chart API:二维码

QRcode是二维码的一种。QRcode可以存储最多4296个字母数字类型的任意文本。这些文本可以是任何内容,例如,网址、联系信息、电话号码(具体科查看二维码数据格式)。QR code存储的信息可以被安装有适当软件的光学设备读取。这种设备既可以是专用的QR code读取器也可以是手机。

通过调用 Google Chart Tools / Image Charts 的 API ,我们可以很方便的生成QRcode。

调用方式也很简单,只要向 http://chart.apis.google.com/chart 传入适合的参数就可以了,参数如下:

  1. cht=qr
    这个是必需的,告诉 API ,你需要生成的是二维码。
  2. chs=<width>x<height>
    这个同样是必需的,告诉 API ,你需要生成的二维码的尺寸。
  3. chl=<data>
    这个还是必需的,用来告诉 API 二维码所包含的信息。可以是数字、字符数字、字符、二进制信息、汉字。不能混合数据类型。数据必须经过UTF-8 URL-encoded。如果需要传递的信息超过2K个字节,请使用POST方式。
  4. choe=<output_encoding>
    终于来了个不是必须的,这个是用来声明生成的二维码所包含信息的编码,默认是 UTF-8 ;其他可选编码是 Shift_JIS 、 ISO-8859-1
  5. chld=<error_correction_level>|<margin>
    可选 纠错等级。QR码支持四个等级的纠错,用来恢复丢失的、读错的、模糊的、数据。下面是可选的值:L-(默认)可以识别已损失7%的数据;M-可以识别已损失15%的数据;Q-可以识别已损失25%的数据;H-可以识别已损失30%的数据。margin 是指生成的二维码离图片边框的距离。

QR码是方形的,有相同的长和宽。QR码的大小是固定的:从21到177的长/宽,每次递增4个像素点。每个配置被称为一个等级。长和宽越大,存储的信息就越多。下面是版本摘要:

  • 等级为1的QR码长和宽分别为21个像素,最多可以存储25个字母数字和字符。
  • 等级为2的QR码长和宽分别为25个像素,最多可以存储47个字母数字和字符。
  • …以此类推 。

Chart API会根据你将存储的信息的大小来决定使用哪个等级的QR码。最棒的QR码阅读器可以读取等级为40的QR码中存储的信息。然而通常来说移动设备最多可以读取等级为4的QR码中存储的信息。

下面来介绍使用PHP调取Google Chart API 来生成二维码

使用上述二维码PHP类的方法:

码字很辛苦,转载请注明来自标点符《Google Chart API:二维码》

评论

  1. Cydia #1

    很有用,不过据说Google打算关闭这个Api。

    回复
    2011-07-19