> qr-optimized | efficient | modern <
// Base45-codering geoptimaliseerd voor QR-codes en digitale certificaten
Efficiënt voor QR-codes
Speciaal afgestemd op de alfanumerische modus van QR-codes om datadichtheid en scanbetrouwbaarheid te maximaliseren.
Conform RFC 9285
Implementeert de officiële Base45-specificatie die o.a. gebruikt wordt in het EU Digitaal COVID-certificaat.
Ruimtebesparend
Efficiënter dan Base32 en vaak beter dan Base64 wanneer de payload uiteindelijk in een QR-code wordt opgeslagen.
>> technische info
Hoe Base45 werkt:
Base45 gebruikt 45 tekens die exact overeenkomen met de alfanumerische modus van QR-codes. Gegevens worden typisch per 2 bytes naar 3 Base45-tekens omgezet, wat in QR-codes een betere efficiëntie oplevert dan Base64.
Voorbeeld:
"Hello" → %69 VD92EX0
Waarom Base45 gebruiken:
- >Hoger bruikbaar datavolume per QR-code
- >Compatibel met het EU Digitaal COVID-certificaat en andere e‑gezondheidsstandaarden
- >Minder complexe QR-codes met minder modules
- >Betere scans op smartphones en scanners met middelmatige camera’s
- >Logische keuze wanneer de data uiteindelijk in een QR-code wordt geprint of getoond
>> veelgestelde vragen
Wat is Base45-codering?
Base45 is een coderingsschema, gedefinieerd in RFC 9285, dat 45 tekens gebruikt die efficiënt werken met de alfanumerische modus van QR-codes.
Waarom is Base45 ontwikkeld?
Base45 is ontwikkeld om data efficiënter in QR-codes op te slaan, in het bijzonder voor het EU Digitaal COVID-certificaat en vergelijkbare certificaten.
Hoe verschilt Base45 van andere encodings?
In tegenstelling tot Base64 gebruikt Base45 uitsluitend tekens die door de alfanumerische modus van QR-codes worden ondersteund, waardoor de beschikbare capaciteit beter wordt benut.
Wanneer moet ik Base45 gebruiken?
Gebruik Base45 wanneer je gestructureerde data (certificaten, tokens, configuratie) in een QR-code wilt coderen en de oppervlakte van de code beperkt is.
// Snelle referentie
| Invoer | Base45 |
|---|---|
| AB | BB8 |
| Hello!! | %69 VD92EX0 |
| base-45 | UJCLQE7W581 |
| ietf! | QED8WEX0 |
// Codevoorbeelden
Alphabet 0-9 A-Z space $ % * + - . / : (45 characters) Length 2 bytes -> 3 chars, 1 byte -> 2 chars Python pip install base45 base45.b45encode(b"AB") # b'BB8' Node.js npm i base45-js // RFC 9285 EU DCC JSON -> CBOR -> COSE -> zlib -> Base45 -> "HC1:" -> QR
>> Meer vragen
V: Welke 45 tekens gebruikt Base45?
A: Precies die van de alfanumerieke QR-modus: 0–9, A–Z (alleen hoofdletters), spatie en $ % * + - . / :. Het alfabet staat in RFC 9285.
V: Hoe lang is een Base45-string ten opzichte van de originele bytes?
A: Elke 2 invoerbytes geven 3 tekens, een enkele resterende byte geeft 2 tekens. Voor n bytes ontstaan 3·⌊n/2⌋ + 2·(n mod 2) tekens, ongeveer 150% van de invoerlengte.
V: Waarom is Base45 beter dan Base64 voor QR-codes?
A: De alfanumerieke QR-modus gebruikt ongeveer 5,5 bit per teken, de bytemodus (nodig voor + en / van Base64) 8 bit. Zo past er meer data in dezelfde code. EU-covidcertificaten volgen CBOR → COSE → zlib → Base45 → prefix HC1: → QR.