跳到主要内容

二维码知识

二维条码是在一维条码基础上扩展出来的条码形式,用黑白矩形图案表示二进制数据,设备扫描后可以读取其中包含的信息。

一维条码主要通过宽度记录数据,长度方向不记录数据;二维条码在横向和纵向两个方向上都记录数据,因此可以保存更多信息。二维条码还具备一维条码没有的定位点和容错机制:定位点帮助设备识别方向和位置;容错机制让二维码在没有完整识别、或图案有轻微污损时,仍有机会还原出原始信息。

二维码种类很多,不同机构开发出的二维码,在结构、编码方法和读取方法上会有所不同。

二维码的常见类型

堆叠式 / 行排式二维条码

堆叠式二维条码也叫行排式二维条码,可以理解为把多行一维条码叠在一起。常见类型包括 Code 16K、Code 49、PDF417 等。

堆叠式二维条码示例

这类码通常更适合特定行业和专用设备读取,在普通手机扫码场景中不如 QR 码常见。

矩阵式二维码

矩阵式二维码由黑白模块组成,信息分布在整个二维平面中。日常生活中最常见的是 QR 码,也就是通常所说的“二维码”。

相对于一维条码,QR 码的数据容量更大,可以混合保存数字、字符和中文文本;同时具备一定容错能力,部分图案损坏后仍可能被识别。QR 码空间利用率高,手机、平板、摄像头等设备对它的支持也更普遍。

常用二维码对比

对比项QR(日)PDF417(美)DM(美)汉信码(中)备注
发明时间1994 年1992 年1989 年2005 年
是否中国国家标准
是否国际标准
最小面积21×2190×910×10有 84 个版本供自主选择,最小码约指甲大小单位为 mm×mm
最大面积177×177853×270144×144单位为 mm×mm
信息存储量最小
字节 / 平方英寸2953(7% 纠错信息)1106(0.2% 纠错信息)1556(14% 纠错信息)4350
数字4296271031167829
字符708918502354350
汉字18172174
二进制295315563262
纠错分级4 级9 级非离散分级4 级纠错能力越强,可以存储的有效信息越少
最高纠错信息30%46.20%25%30%
最低纠错信息7%0.20%14%8%
表示中文一般
解码速度一般
抗畸变、污损能力较弱一般超强
识别方向性全方向性单方向单方向全方向性
识别设备支持手机、PAD、摄像头限专用设备支持手机、PAD、摄像头限专用设备目前大部分手机二维码软件主要支持 QR 码

活码的原理

活码可以理解为二维码的一种应用形态。它通过短网址指向保存在云端的信息:扫码时,手机先访问短网址,再打开对应的云端内容页。制作者在后台修改云端内容时,二维码图案不变,扫码者看到的内容会更新。

和直接把文字或网址写进二维码的静态码相比,活码的图案通常更简洁,也更适合印刷和扫描。它让二维码的印刷管理更方便:可以先印刷二维码图案,后设置码内容;也可以在二维码已经贴出、印出或转发后,继续修改后台内容。

活码的核心特点包括:

  • 图案不变,内容可改:印刷后无需换码,后台可随时更新内容。
  • 支持多种内容:可展示图文、音视频、文件、链接和表单等。
  • 可统计扫码数据:可查看扫码次数、时间、地点和设备等信息。
  • 需要联网访问:扫码枪通常只能读取活码中的短网址。

从理论上说,活码背后的云端内容不再受二维码图案容量直接限制,文本、图片、文件等内容都可以放在云端页面中。草料也没有对文本字数做硬性限制。但实际使用时,仍会受到网络带宽、服务器性能、手机端加载能力等影响。如果输入过多文字、上传过大的图片或文件,可能影响生成和扫码打开速度,甚至导致手机端显示不完整。

因此,活码不是内容越多越好。正式投放前,建议先用手机扫码测试页面打开速度和展示效果,确认扫码者能正常查看。

这项技术原理简单,但很实用。现在很多软件和应用都可以创建这类二维码,草料二维码并不是这项技术的发明者。不过,不少企业和个人真要稳定用好它,仍然有门槛:如果自己开发一套系统,需要处理页面编辑、内容存储、扫码访问、数据统计、后台管理和服务器运维,成本和时间不是所有企业都能接受。

草料二维码为活码提供云服务,让更多人只需注册登录,就能使用这项能力。你不需要找人设计网页、编写代码,也可以通过二维码内容编辑器创建和修改自己的二维码内容;管理后台可以集中管理已创建的二维码,查看投放后的扫码数据或收集到的反馈信息。网页内容存放在云端,也能减少企业自建基础设施和开发维护成本。

用相同内容生成的二维码为什么图案不同

二维码是用特定几何图形按一定规律在平面上分布,从而记录数据符号信息。在编码时,二维码会利用计算机内部“0”和“1”的比特流概念,用黑白模块表示文字、数字等信息。扫码设备再通过图像输入或光电扫描,识别并还原其中的信息。

每种二维码码制都有自己的字符集、字符宽度和校验功能。同时,二维码还具备自动识别不同行信息、处理图形旋转变化等能力。

同样的内容,不做任何修改,反复生成出来的二维码图案也可能不同。这和编码方式、版本、纠错级别、掩膜规则、平台处理方式等因素有关。只要扫码后读出的内容一致,图案不同通常不影响正常使用。

可以简单理解为:同一句话从左到右写,或从上到下写,表达的仍是同一个意思。二维码也是一样,图案可以不同,但只要编码结果能被正确识别,扫码得到的内容就是一致的。

什么是容错率

容错率也叫纠错能力,是指二维码局部污损、遮挡或识别不完整时,仍能通过纠错信息还原原始内容的能力。

常见 QR 码有 4 个纠错级别:

纠错级别大致可恢复比例
L 级约 7%
M 级约 15%
Q 级约 25%
H 级约 30%

常见 QR 码使用里德-所罗门码(RS)做纠错。可以简单理解为:二维码在保存原始内容之外,还额外保存了一部分纠错信息。当图案中有一些模块读取错误或缺失时,系统可以利用这些纠错信息推算并还原原始内容。

纠错级别越高,二维码抗污损能力越强,但需要占用更多空间来保存纠错信息,可用于保存实际内容的容量会相应减少,二维码图案也可能更复杂。

需要注意的是,容错率不是“任意位置都可以遮挡这么多”。二维码三个角上的定位点会直接影响识别,如果遮挡到这些关键区域,即使面积不大,也可能无法扫码。中间的数据区域通常更能容忍轻微污损或遮挡。

调整纠错级别后,二维码需要重新计算图案分布,所以同一内容在不同纠错级别下生成的二维码图案可能不同。

常见问题

什么叫静态码

静态码是生成后内容固定不变的二维码。它通常由一段网址、文本、编号或其他数据直接生成。

静态码的特点是:

  • 生码后内容不能修改;
  • 删除后台记录后,已经导出的二维码图案仍可继续识别;
  • 不支持图片、文件、音视频等网页内容;
  • 不支持扫码统计;
  • 无网络环境下也能识别出二维码中的原始内容;
  • 扫描枪可以直接识别二维码里写入的内容。

如果你需要让扫描枪直接读出编号、文本或其他原始内容,建议使用静态码。

相关说明:什么叫静态码活码和静态码有什么区别

什么叫活码

活码是生成后内容可修改、二维码图案保持不变的二维码应用方式。

草料活码的二维码图案中保存的是一段指向云端内容的短网址。扫码时,手机访问这段短网址,再打开你在后台配置好的内容页面。你修改后台内容时,二维码图案不变,扫码者看到的内容会更新。

活码的特点是:

  • 内容可修改,二维码图案不变;
  • 支持扫码次数、时间、地区等数据统计;
  • 支持图片、文件、音视频、表单等更丰富的网页内容;
  • 可配合后台管理能力,用于产品展示、表单收集、设备巡检、资产管理等场景;
  • 扫码查看内容需要联网。

相关说明:什么叫活码快速了解二维码和活码

如何分辨静态码和活码

可以先用解码器查看二维码里写入的原始内容。

如果解码结果是文本、编号或目标网址本身,通常是静态码。

如果解码结果是草料活码短网址,例如 qr61xx、qr71xx、h.qr61xx 等,扫码后再打开云端内容页,通常是活码。

只看二维码图案疏密不能准确判断。内容很短的静态码也可能很简洁,内容较长的网址静态码也可能很密。

相关说明:如何分辨静态码和活码

为什么扫码枪扫描活码时会显示网址

扫码枪读取的是二维码图案里实际写入的内容。

如果是静态码,二维码图案里写入的就是文本、编号或目标网址,扫码枪可以直接读出这些内容。

如果是活码,二维码图案里写入的是一段指向云端内容的短网址,所以扫码枪通常会显示这段网址,而不是云端页面里的图文、文件或表单内容。

如果你需要用扫码枪直接识别内容,建议制作静态码;如果你需要扫码打开可更新的图文页面、文件或表单,建议使用活码。

相关说明:活码和静态码有什么区别