Publiek testcorpus

Onze scannercompatibiliteitsclaims zijn slechts zo goed als het bewijs waarop ze zijn gebaseerd. Deze pagina is het corpus, de canonieke invoer die we bij elke encoder regressiontest, plus het telefonische cameragedrag dat je zelf kunt controleren zonder ons op ons woord te geloven.

Waarom dit bestaat: de meeste QR-tools publiceren een compatibiliteitsmatrix. Wij publiceren het corpus achter de matrix. Als je verantwoordelijk bent voor een scannervloot, detailhandel, magazijn, farma, luchtvaart, DMV, kun je dit corpus door je eigen lezers halen en elke claim die wij maken verifiëren.

Corpus.zip downloaden Gebundelde fixtures-JSON + CSV + methodologie + README. ~4 KB.

Versie laden…

Het corpus gebruiken

Download de fixtures.

Elke testvector staat in /test-vectors/fixtures.json. Eén JSON-object per type met de invoervelden en de verwachte gedecodeerde subtekenreeks(en). Live opgehaald van deze site, geen verouderde kopieën.

Regenereer de QR's.

Neem de fields-map van een fixture, voer de waarden in de generator in voor dat type en klik op Genereer. De resulterende QR is bit-voor-bit identiek aan wat onze CI round-trip test.

Scan met je eigen vloot.

Richt een iPhone-camera, Android-camera, Google Lens, industriële scanner (Zebra, Honeywell, Datalogic) of app-specifieke lezer (een bankapp, een authenticator) op de gegenereerde QR. Bevestig dat de gedecodeerde tekst elke expect-subtekenreeks voor die fixture bevat.

Meld discrepanties.

Als een scanner in je vloot een decodering teruggeeft die niet overeenkomt met de fixture, dien dan een issue in. We reproduceren, voegen je scanner toe aan de openbare compatibiliteitsmatrix en leveren (als het een encoderbug is) een oplossing.

Verwachte scanresultaten, gecureerde subset

Dit is een compacte weergave van de volledige fixture-JSON, gegroepeerd op scannergedrag. Voor de uitputtende lijst van alle typen die Abundera ondersteunt, ga naar /test-vectors/.

TypeFixture-invoeriOS CameraAndroid CameraPro scanner
URLhttps://example.com/testDecodeertDecodeertDecodeert
WiFiSSID=MyNet PSK=... WPAVerbindt met netwerkVerbindt met netwerkDecodeert payload
WiFi Enterprise (EAP)WPA2-EAP PEAP identity=alice@corpiOS 17+DecodeertDecodeert
vCardFN=Alice ORG=Acme ...Toevoegen aan ContactenToevoegen aan ContactenDecodeert payload
TOTPotpauth://totp/...?secret=JBSW...Authenticator-app leest hetAuthenticator-app leest hetDecodeert URI
eSIMLPA:1$rsp.example.com$K2-LM...iOS 17.4+ installeertAndroid 13+ installeertDecodeert URI
Bitcoin (BIP-21)bitcoin:1A1zP1eP...Wallet-app opentWallet-app opentDecodeert URI
SEPA (EPC)BCD header + name + IBAN + amountAlleen ruwe tekenreeksAlleen ruwe tekenreeksBankapp-ondersteuning
Swiss QR-billSPC header + IBAN + address + amountAlleen ruwe tekenreeksAlleen ruwe tekenreeksZwitserse bankapps native
GS1 Digital Linkhttps://id.gs1.org/01/09506000134352Opent URLOpent URLPOS-firmware parseert AI's
Data MatrixWillekeurige payloadGeen decoderingAlleen Google LensNative
AztecWillekeurige payloadGeen decoderingSommige Android-lezersNative
PDF417AAMVA of willekeurigGeen decoderingGoogle Lens gedeeltelijkNative
AAMVA rijbewijs@  ANSI 636014080002DL...iOS 17+ rijbewijsbewustAndroid rijbewijsbewuste appsNative
EAN-130012345678905Decodeert cijfersDecodeert cijfersElke retail POS
Code 128ABC-123DecodeertDecodeertNative
Micro QRCompacte payloadGeen decoderingGeen decoderingAlleen industriële lezers
rMQRRechthoekige payloadGeen decoderingGeen decoderingSommige Scandit/Cognex-firmware

Wat "verwacht scanresultaat" betekent

Methodologische opmerkingen

Wat er komen gaat

Zie ook

Corpus voor het laatst regressiongetest 2026-04-18. Geverifieerde scanapparaten: iPhone 15 Pro / iOS 18.3, Pixel 8 / Android 14, Zebra DS8100.