Julkinen testikorpus

Skanneriyhteensopivuusväitteemme ovat vain yhtä hyviä kuin niiden taustalla oleva näyttö. Tämä sivu on korpus, syötteet, joita regressiontestaamme kooderiperheitämme vastaan, sekä puhelinkamerakäyttäytyminen, jonka voit tarkistaa itse ottamatta meitä sanaansa.

Miksi tämä on olemassa: useimmat QR-työkalut julkaisevat yhteensopivuusmatriisin. Me julkaisemme matriisin taustalla olevan korpuksen. Jos olet vastuussa skannerilaivastosta, vähittäiskauppa, varasto, lääketeollisuus, lento, DMV, voit ajaa tämän korpuksen omien lukijoidesi läpi ja vahvistaa jokaisen väitteen, jonka teemme.

Lataa corpus.zip Pakatut fixtures-JSON + CSV + metodologia + README. ~4 KB.

Ladataan versiota…

Korpuksen käyttö

Lataa fikstuukset.

Jokainen testvektori sijaitsee tiedostossa /test-vectors/fixtures.json. Yksi JSON-objekti per tyyppi syötekenttien ja odotettujen purettujen osajono(je)n kanssa. Haetaan suoraan tältä sivustolta, ei vanhentuneita kopioita.

Luo QR-koodit uudelleen.

Ota minkä tahansa fikstuuksen fields-kartta, syötä arvot generaattoriin sille tyypille ja paina Luo. Tuloksena oleva QR on bitti-bitti-identtinen sen kanssa, mitä CI:mme ajaa round-trip:nä vastaan.

Skannaa omalla laivastollasi.

Osoita iPhone-kamera, Android-kamera, Google Lens, teollinen skanneri (Zebra, Honeywell, Datalogic) tai sovelluskohtainen lukija (pankkisovellus, todennussovellus) luotuun QR:ään. Vahvista, että purettu teksti sisältää jokaisen expect-osajonon kyseiselle fikstuukselle.

Ilmoita eroavaisuuksista.

Jos laivastosi skanneri palauttaa purkauksen, joka ei vastaa fikstuuksia, luo ongelmaraportti. Reprodusoimme, lisäämme skannerisi julkiseen yhteensopivuusmatriisiin ja (jos kyseessä on kooderivirhe) toimitamme korjauksen.

Odotetut skannaustulokset

Renderöity samasta tietojoukosta kuin yhteensopivuusmatriisi ja jokaisen tyyppisivun "Skannautuu"-rivi, joten nämä kolme eivät voi olla keskenään ristiriidassa. Täydellisessä fixture-tiedostossa osoitteessa /test-vectors/ on 33 merkintää, yksi jokaista regressiotestaamaamme kooderiperhettä kohden; se ei ole yksi rivi tuotetyyppiä kohden, emmekä väitä niin.

TyyppiFikstuuksen syöteiPhone CameraAndroid CameraPro-skanneri
URLhttps://example.com/testAvaa linkinA1Avaa linkinA5PurkaaA8
WiFiWIFI:S:MyNet;T:WPA;P:...;;Yhdistää verkkoonA1Yhdistää verkkoonA5Purkaa hyötykuormanA8
WiFi Enterprise (EAP)WPA2-EAP PEAP identity=alice@corpiOS 17+, ilmoitettuUPurkaa; liittyminen riippuu valmistajastaUPurkaa hyötykuormanQ
vCardFN=Alice ORG=Acme ...Lisää yhteystietoihinA1Lisää yhteystietoihinA5Purkaa hyötykuormanA8
TOTPotpauth://totp/...?secret=JBSW...Todennussovellus lukee senA9, A10Todennussovellus lukee senA9, A10Purkaa URI:nA8
eSIMLPA:1$rsp.example.com$K2-LM...iOS 17.4+ käyttöönottaaA4Android 13+ käyttöönottaaUPurkaa URI:nQ
Bitcoin (BIP-21)bitcoin:1A1zP1eP...Lompakkosovellus avautuuQLompakkosovellus avautuuQPurkaa URI:nQ
SEPA (EPC)BCD header + name + IBAN + amountVain raaka merkkijonoQVain raaka merkkijonoQPurkaa raakana merkkijononaQ
Swiss QR-billSPC header + IBAN + address + amountVain raaka merkkijonoQVain raaka merkkijonoQPurkaa raakana merkkijononaQ
Micro QRCompact payloadEi purkamistaV, UEi purkamistaGTeolliset lukijatZ
rMQRRectangular payloadEi purkamistaUEi purkamistaGUudempi Zebra-, Scandit- ja Cognex-laiteohjelmistoZ
GS1 Digital Linkhttps://id.gs1.org/01/09506000134352Avaa URL:nQAvaa URL:nQPOS-laiteohjelmisto jäsentää AI:tQ
AztecArbitrary payloadEi purkamistaA2Google Lens, jotkin variantitA7NatiivistiA8
Data MatrixArbitrary payloadEi purkamistaA2Google LensA6NatiivistiA8
PDF417AAMVA or arbitraryEi purkamistaA2Google Lens, epätasainenA7NatiivistiA8
AAMVA driver license@\n\x1e\rANSI 636014100002DL...iOS 17+ ajokorttitietoinen kulkuA3Vain ajokorttitietoiset sovelluksetUNatiivistiA8
EAN-13 / UPC-A0012345678905Ei purkamistaApGoogle LensGJokainen vähittäiskaupan POSA8
Code 128ABC-123Ei purkamistaApGoogle LensGNatiivistiA8

Miten merkit luetaan

Näyttö

Mitä "odotettu skannaustulosc" tarkoittaa

Metodologisia huomioita

Skannerilaivaston todistusloki

Jokainen manuaalinen laiteajo, päivättynä. Rivejä lisätään, kun hankimme laitteiston tai käyttäjä ilmoittaa poikkeamasta; tulos ei koskaan muutu hiljaisesti, se saa uuden rivin.

#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-10Kumpikaan ei pura natiivisti (odotettua, katso /standards/non-qr-2d/)
A3iPhone 15 ProiOS 18.3, native CameraAAMVA PDF417partial2026-04-10iOS 17+ ajokorttitietoinen kulku tarjoaa Lisää Walletiin; raakaa PDF417:ää ei palauteta
A4iPhone 15 ProiOS 18.3, WalleteSIM LPApass2026-04-12Lisää eSIM -kulku käynnistyy oikein
A5Pixel 8Android 14, native CameraAll QR fixturespass2026-04-10
A6Pixel 8Android 14, Google LensData Matrixpass2026-04-10
A7Pixel 8Android 14, Google LensAztec, PDF417partial2026-04-10Jotkin variantit purkavat; tuki on epätasaista
A8Zebra DS8100firmware CAAACS00-002-R06All 2D + 1D fixturespass2026-04-11Teollinen kuvantaja, kanoninen referenssi
A9Google Authenticatorv7.0+ (iOS/Android)TOTP, HOTPpass2026-04-12Vain SHA-1, 6-numeroinen (ohittaa algorithm/digits-parametrit Googlen de facto -profiilin mukaisesti)
A101Passwordv8 (iOS/Android/macOS)TOTP, HOTPpass2026-04-12Täysi RFC-tuki mukaan lukien SHA-256, SHA-512, 8-numeroinen

Mitä on tulossa

Katso myös

Korpus viimeksi regressiontestattu 2026-04-18. Vahvistetut skannerit: iPhone 15 Pro / iOS 18.3, Pixel 8 / Android 14, Zebra DS8100.