QrCode一共有40个尺寸。官方称为Version。

  • 最低为Version 1(即尺寸1)是21 x 21的矩阵(由21行,21列的 黑白像素 组成)
  • 最高位Version 40(即尺寸40)是177 x 177 的矩阵。(由127行,127列的 黑白像素 组成)

二维码尺寸越大存储的信息越多。既然二维码最大尺寸是有限制的,那么它最多能容纳多少字符信息呢?

根据二维码编码原理,容量最高的是version 40、容错率为"L"的尺寸。通过查询,官方网站给出如下数据。http://www.qrcode.com/en/about/version.html

图中Numeric表示"数字",Alphanumeric表示"字母、数字混合",Binary表示"8位字节数据"(即一个字节),Kanji表示"日本汉字"。我们通过数据可以得出二维码最大容量如下:

  • Numeric 数据:7089个
  • Alphanumeric 数据:4296个
  • 8位字节数据:2953个
  • Kanji 汉字数据:1817个

但上面这些只是原始编码(ANSI)形式,在实际网络应用中,为了保证字符通用性,二维码大多都会使用UTF-8编码。因此容量应当以8位字节数据的最大容量2953字节为准。由于在UTF-8编码中,字符并不是固定的字节长度。如:一个数字/字母 = 1个字节,一个汉字 = 3个字节。所以得出二维码所能容纳的UTF-8字符数量如下:

  • UTF-8 字节数:2953 字节(约2.9KB)
  • UTF-8 数字/字母数据:2953 个
  • UTF-8 汉字:2953/3 = 984 个

兔子二维码使用的就是 UTF-8 编码形式,因此最多容纳约 2.9KB 的数据