公开测试语料库

我们关于扫描仪兼容性的声明,其可信度取决于支撑它们的证据。这个页面就是语料库, , 我们用来对编码器家族进行回归测试的输入,以及无需相信我们的话就能自行审计的手机摄像头行为。

为什么存在这个页面:大多数 QR 工具会发布兼容性矩阵。我们发布的是矩阵背后的语料库。如果您负责管理一批扫描仪, , 零售、仓储、制药、航空、DMV, , 您可以用自己的读取设备运行这个语料库,验证我们做出的每一项声明。

下载 corpus.zip 打包的 fixtures JSON + CSV + 方法论 + README。约 4 KB。

正在加载版本…

如何使用语料库

下载 fixtures。

每个测试向量都在 /test-vectors/fixtures.json 中。每种类型一个 JSON 对象,包含输入字段和预期的解码子字符串。从本站实时获取,没有陈旧副本。

重新生成 QR 码。

取任意 fixture 的 fields 映射,将值输入该类型的生成器,然后点击生成。生成的 QR 码与我们 CI 往返测试所用的完全一致,逐位相同。

用您的设备群扫描。

将 iPhone Camera、Android Camera、Google Lens、工业扫描仪(Zebra、Honeywell、Datalogic)或特定应用读取器(银行应用、身份验证器)对准生成的 QR 码。确认解码文本包含该 fixture 的每个 expect 子字符串。

报告差异。

如果您的设备群中某台扫描仪返回的解码结果与 fixture 不符,请提交问题。我们会重现问题,将您的扫描仪添加到公开兼容性矩阵,并(如果是编码器缺陷)发布修复。

预期扫描结果

本表由与兼容性矩阵及每个类型页面上的“可扫描设备”一行相同的数据集渲染,因此三者不会出现矛盾。/test-vectors/ 上的完整 fixture 文件共有 33 条,每条对应我们回归测试的一个编码器家族;它不是每个产品类型对应一行,我们也不这样声称。

类型测试输入iPhone CameraAndroid Camera专业扫描仪
URLhttps://example.com/test打开链接A1打开链接A5解码成功A8
WiFiWIFI:S:MyNet;T:WPA;P:...;;加入网络A1加入网络A5解码 payloadA8
WiFi Enterprise (EAP)WPA2-EAP PEAP identity=alice@corpiOS 17+,据报告支持U可解码;能否加入网络取决于厂商U解码 payloadQ
vCardFN=Alice ORG=Acme ...添加到通讯录A1添加到通讯录A5解码 payloadA8
TOTPotpauth://totp/...?secret=JBSW...身份验证器应用可读取A9, A10身份验证器应用可读取A9, A10解码 URIA8
eSIMLPA:1$rsp.example.com$K2-LM...iOS 17.4+ 可配置A4Android 13+ 可配置U解码 URIQ
Bitcoin (BIP-21)bitcoin:1A1zP1eP...钱包应用打开Q钱包应用打开Q解码 URIQ
SEPA (EPC)BCD header + name + IBAN + amount仅原始字符串Q仅原始字符串Q解码原始字符串Q
Swiss QR-billSPC header + IBAN + address + amount仅原始字符串Q仅原始字符串Q解码原始字符串Q
Micro QRCompact payload无法解码V, U无法解码G工业读取器Z
rMQRRectangular payload无法解码U无法解码G较新的 Zebra、Scandit 和 Cognex 固件Z
GS1 Digital Linkhttps://id.gs1.org/01/09506000134352打开 URLQ打开 URLQPOS 固件解析 AIQ
AztecArbitrary payload无法解码A2Google Lens,部分变体支持A7原生支持A8
Data MatrixArbitrary payload无法解码A2Google LensA6原生支持A8
PDF417AAMVA or arbitrary无法解码A2Google Lens,表现不稳定A7原生支持A8
AAMVA driver license@\n\x1e\rANSI 636014100002DL...iOS 17+ 驾照识别流程A3仅限支持驾照解析的应用U原生支持A8
EAN-13 / UPC-A0012345678905无法解码ApGoogle LensG所有零售 POSA8
Code 128ABC-123无法解码ApGoogle LensG原生支持A8

标记说明

依据

"预期扫描结果"的含义

方法论说明

扫描仪设备群验证日志

每一次人工设备验证,都附有日期。每当我们获得新硬件或有用户报告差异,就会新增一行;结果不会被悄悄改动,而是新增一行记录。

#DeviceOS / appCorpus sliceResultDateNotes
A1iPhone 15 ProiOS 18.3, native CameraAll QR fixturespass2026-04-10
A2iPhone 15 ProiOS 18.3, native CameraAztec, PDF417, Data Matrixfail2026-04-10均无法原生解码(符合预期,参见 /standards/non-qr-2d/)
A3iPhone 15 ProiOS 18.3, native CameraAAMVA PDF417partial2026-04-10iOS 17+ 驾照识别流程提供添加到 Wallet 的选项;不会返回原始 PDF417 内容
A4iPhone 15 ProiOS 18.3, WalleteSIM LPApass2026-04-12添加 eSIM 流程可以正确触发
A5Pixel 8Android 14, native CameraAll QR fixturespass2026-04-10
A6Pixel 8Android 14, Google LensData Matrixpass2026-04-10
A7Pixel 8Android 14, Google LensAztec, PDF417partial2026-04-10部分变体可以解码;支持情况不稳定
A8Zebra DS8100firmware CAAACS00-002-R06All 2D + 1D fixturespass2026-04-11工业成像仪,标准参照设备
A9Google Authenticatorv7.0+ (iOS/Android)TOTP, HOTPpass2026-04-12仅支持 SHA-1、6 位数字(按照 Google 事实标准配置,忽略 algorithm/digits 参数)
A101Passwordv8 (iOS/Android/macOS)TOTP, HOTPpass2026-04-12完整支持 RFC 规范,包括 SHA-256、SHA-512、8 位数字

即将推出

另请参阅

语料库最后回归测试日期:2026-04-18。已验证设备:iPhone 15 Pro / iOS 18.3、Pixel 8 / Android 14、Zebra DS8100。