Veřejný testovací korpus

Naše tvrzení o kompatibilitě čteček jsou jen tak dobrá jako důkazy, na nichž stojí. Tato stránka je korpus, vstupy, které regresně testujeme proti rodinám našich kodérů, plus chování fotoaparátu telefonu, které si můžete sami ověřit, aniž byste nám museli věřit na slovo.

Proč to existuje: většina nástrojů pro QR kódy zveřejňuje matici kompatibility. My zveřejňujeme korpus za touto maticí. Pokud zodpovídáte za flotilu čteček, maloobchod, sklad, farmacie, letectví, DMV, můžete tento korpus pustit přes vlastní čtečky a ověřit každé naše tvrzení.

Stáhnout corpus.zip Sada fixtures JSON + CSV + metodika + README. ~4 KB.

Načítání verze…

Jak používat korpus

Stáhněte fixtures.

Každý testovací vektor se nachází v /test-vectors/fixtures.json. Jeden JSON objekt na typ se vstupními poli a očekávaným dekódovaným podřetězcem. Načítáno živě z tohoto webu, žádné zastaralé kopie.

Znovu vygenerujte QR kódy.

Vezměte mapu fields libovolné fixture, vložte hodnoty do generátoru pro daný typ a klikněte na Generovat. Výsledný QR kód je bit po bitu identický s tím, co naše CI testuje v cyklu.

Naskenujte vlastní flotilou.

Namiřte iPhone Camera, Android Camera, Google Lens, průmyslovou čtečkou (Zebra, Honeywell, Datalogic) nebo aplikačně specifickou čtečkou (bankovní aplikace, autentikátor) na vygenerovaný QR kód. Potvrďte, že dekódovaný text obsahuje každý podřetězec expect pro danou fixture.

Nahlaste nesrovnalosti.

Pokud čtečka ve vaší flotile vrátí dekódování, které neodpovídá fixture, zadejte problém. Reprodukujeme ho, přidáme vaši čtečku do veřejné matice kompatibility a (pokud jde o chybu kodéru) zašleme opravu.

Očekávané výsledky skenování

Vykresleno ze stejné datové sady jako matice kompatibility a řádek „Skenuje na" na každé stránce typu, takže si tyto tři nemohou odporovat. Úplný soubor fixture na /test-vectors/ má 33 položek, jednu na každou rodinu kodérů, kterou regresně testujeme; není to jeden řádek na typ produktu a netvrdíme, že je.

TypVstup fixtureiPhone CameraAndroid CameraProfesionální čtečka
URLhttps://example.com/testOtevře odkazA1Otevře odkazA5DekódujeA8
WiFiWIFI:S:MyNet;T:WPA;P:...;;Připojí se k sítiA1Připojí se k sítiA5Dekóduje payloadA8
WiFi Enterprise (EAP)WPA2-EAP PEAP identity=alice@corpiOS 17+, hlášenoUDekóduje; připojení závisí na výrobci zařízeníUDekóduje payloadQ
vCardFN=Alice ORG=Acme ...Přidat do kontaktůA1Přidat do kontaktůA5Dekóduje payloadA8
TOTPotpauth://totp/...?secret=JBSW...Přečte to aplikace autentikátoruA9, A10Přečte to aplikace autentikátoruA9, A10Dekóduje URIA8
eSIMLPA:1$rsp.example.com$K2-LM...iOS 17.4+ provisionujeA4Android 13+ provisionujeUDekóduje URIQ
Bitcoin (BIP-21)bitcoin:1A1zP1eP...Otevře se peněženková aplikaceQOtevře se peněženková aplikaceQDekóduje URIQ
SEPA (EPC)BCD header + name + IBAN + amountJen surový řetězecQJen surový řetězecQDekóduje surový řetězecQ
Swiss QR-billSPC header + IBAN + address + amountJen surový řetězecQJen surový řetězecQDekóduje surový řetězecQ
Micro QRCompact payloadBez dekódováníV, UBez dekódováníGPrůmyslové čtečkyZ
rMQRRectangular payloadBez dekódováníUBez dekódováníGNovější firmware Zebra, Scandit a CognexZ
GS1 Digital Linkhttps://id.gs1.org/01/09506000134352Otevře URLQOtevře URLQFirmware POS zpracuje AIQ
AztecArbitrary payloadBez dekódováníA2Google Lens, u některých variantA7NativníA8
Data MatrixArbitrary payloadBez dekódováníA2Google LensA6NativníA8
PDF417AAMVA or arbitraryBez dekódováníA2Google Lens, nespolehlivěA7NativníA8
AAMVA driver license@\n\x1e\rANSI 636014100002DL...iOS 17+ postup rozpoznávající řidičský průkazA3Jen aplikace rozpoznávající řidičský průkazUNativníA8
EAN-13 / UPC-A0012345678905Bez dekódováníApGoogle LensGKaždý maloobchodní POSA8
Code 128ABC-123Bez dekódováníApGoogle LensGNativníA8

Jak číst značky

Důkaz

Co znamená „očekávaný výsledek skenování"

Poznámky k metodice

Protokol osvědčení flotily čteček

Každý ruční test zařízení, s datem. Řádky přibývají, když získáme nový hardware nebo uživatel nahlásí nesrovnalost; výsledek se nikdy tiše nezmění, dostane nový řádek.

#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Žádná nedekóduje nativně (očekávané, viz /standards/non-qr-2d/)
A3iPhone 15 ProiOS 18.3, native CameraAAMVA PDF417partial2026-04-10Postup iOS 17+ rozpoznávající řidičský průkaz nabídne přidání do Wallet; surový PDF417 se nevrací
A4iPhone 15 ProiOS 18.3, WalleteSIM LPApass2026-04-12Postup přidání eSIM se spustí správně
A5Pixel 8Android 14, native CameraAll QR fixturespass2026-04-10
A6Pixel 8Android 14, Google LensData Matrixpass2026-04-10
A7Pixel 8Android 14, Google LensAztec, PDF417partial2026-04-10Některé varianty dekódují; podpora je nespolehlivá
A8Zebra DS8100firmware CAAACS00-002-R06All 2D + 1D fixturespass2026-04-11Průmyslový imager, kanonická reference
A9Google Authenticatorv7.0+ (iOS/Android)TOTP, HOTPpass2026-04-12Jen SHA-1, 6místné (ignoruje parametry algoritmu/počtu číslic dle de facto profilu Google)
A101Passwordv8 (iOS/Android/macOS)TOTP, HOTPpass2026-04-12Plná podpora RFC včetně SHA-256, SHA-512, 8místné

Co přichází

Viz také

Korpus naposledy regresně testován 2026-04-18. Ověřená zařízení: iPhone 15 Pro / iOS 18.3, Pixel 8 / Android 14, Zebra DS8100.