> qr-optimized | efficient | modern <
// Base45-kodning optimeret til QR-koder og digitale certifikater
Effektivt til QR-koder
Udnytter QR-koders alfanumeriske tilstand, så mere data kan gemmes i samme kode uden at gå på kompromis med læsbarheden.
Kompatibel med RFC 9285
Følger den officielle Base45-specifikation, som anvendes i EU's digitale COVID-certifikat og andre digitale sundhedscertifikater.
Pladsbesparende
Mere effektivt end Base32, når data skal ind i en QR-kode – reducerer størrelsen og kompleksiteten af koden.
>> teknisk info
Hvordan Base45 fungerer:
Base45 bruger 45 tegn, der er tilpasset QR-koders alfanumeriske tilstand. Data kodes i blokke på 2 byte til 3 Base45-tegn, hvilket giver bedre effektivitet i QR-koder end Base64.
Eksempel:
"Hello" → %69 VD92EX0
Hvorfor bruge Base45:
- >Højere datatæthed i QR-koder
- >Overholder standarder for digitale certifikater i EU
- >Mere effektivt end Base64, når data skal ind i en QR-kode
- >Mindre og mindre komplekse QR-koder
- >Mere stabil scanning på tværs af kameraer og læsere
>> ofte stillede spørgsmål
Hvad er Base45-kodning?
Base45 er et kodningsskema defineret i RFC 9285, som bruger 45 tegn optimeret til QR-koders alfanumeriske tilstand for at øge datatætheden.
Hvorfor blev Base45 udviklet?
Base45 blev udviklet for at kunne gemme mere information i QR-koder, især til digitale sundhedscertifikater som EU's digitale COVID-certifikat.
Hvordan adskiller Base45 sig fra andre kodninger?
Base45 anvender udelukkende tegn, der understøttes i QR-koders alfanumeriske tilstand, og kan derfor lagre ca. 20–30 % mere data end Base64 i en QR-kode af samme størrelse.
Hvor bruges Base45 i praksis?
Base45 bruges primært i digitale sundhedscertifikater, EU's digitale COVID-certifikat og andre løsninger, hvor data skal pakkes meget tæt i en QR-kode.
// Hurtig reference
| Input | Base45 |
|---|---|
| AB | BB8 |
| Hello!! | %69 VD92EX0 |
| base-45 | UJCLQE7W581 |
| ietf! | QED8WEX0 |
// Kodeeksempler
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
>> Flere spørgsmål
S: Hvilke 45 tegn bruger Base45?
S: Præcis dem fra QR-kodens alfanumeriske tilstand: 0–9, A–Z (kun store bogstaver), mellemrum og $ % * + - . / :. Alfabetet er fastlagt i RFC 9285.
S: Hvor lang er en Base45-streng sammenlignet med de oprindelige bytes?
S: Hver 2 inputbytes giver 3 tegn, en enkelt overskydende byte giver 2 tegn. For n bytes bliver det 3·⌊n/2⌋ + 2·(n mod 2) tegn, ca. 150 % af inputlængden.
S: Hvorfor er Base45 bedre end Base64 til QR-koder?
S: QR-kodens alfanumeriske tilstand bruger ca. 5,5 bit pr. tegn, bytetilstanden (som Base64s + og / kræver) 8 bit. Derfor er der plads til flere data i samme kode. EU’s covidcertifikater følger CBOR → COSE → zlib → Base45 → præfiks HC1: → QR.