QR 码基本结构

QR码基本结构
QR码基本结构
  • 格式信息:表示该二维码的纠错级别,分为L(7%)、M(15%)、Q(%25)、H(30%)
  • 版本信息:即二维码的规格,共有40种规格的矩阵,从21x21(版本1)到177x177(版本40),每一个版本符号比前一版本每边增加4个模块
  • 数据和纠错码字:实际保存的二维码信息和纠错码字(用于修正二维码损坏带来的错误)

QR 码数据容量

类型 容量
数字 最多7089字符
字母 最多4296字符
二进制数 最多2593字节
日本汉字/片假名 最多1817字符(采用Shift JIS)
中文汉字 最多984字符(采用UTF-8)
中文汉字 最多1800字符(采用BIG5)

QR数据模式指示符

模式 指示符
ECI 0111
数字 0001
字母数字 0010
8位字节 0100
日本汉字 1000
中国汉字 1101
结构链接 0011
FNC1 0101(第一位置),1001(第二位置)
终止符 0000

QR编码过程

例如:对数据:01234567 进行编码(版本 1-H)

  1. 分组: 012 345 67
  2. 转成二进制:
    • 012 → 0000001100
    • 345 → 0101011001
    • 67 → 1000011
  3. 转成序列: 0000001100 0101011001 1000011
  4. 字符数转成二进制: 8 → 0000001000
  5. 加入模式指示符:0001: 0001 0000001000 0000001100 0101011001 1000011
  6. 按需要将码字序列分块,并根据纠错等级和分块的码字产生纠错码字,并把纠错码字加入到数据码字序列后面,成为一个新的序列
  7. 在规格确定的条件下,将上面产生的序列按次序放入分块中,按规定把数据分块,然后对每一块进行计算,得出相应的纠错码字区块,把纠错码字区块按顺序构成一个序列,添加到原先的数据码字序列后面
  8. 构造矩阵,将探测图形、分隔符、定位图形、校正图形和码字模块放入矩阵中
  9. 将掩膜图形用于符号的编码区域,使得二维码图形中的深色和浅色区域能够比率最优的分布
  10. 生成格式和版本信息放入相应区域内