> qr-optimized | efficient | modern <
// Kodowanie Base45 zoptymalizowane dla kodów QR i certyfikatów cyfrowych
Wydajne dla kodów QR
Zaprojektowane specjalnie z myślą o trybie alfanumerycznym kodów QR – maksymalna gęstość danych przy zachowaniu dobrej czytelności.
Zgodność z RFC 9285
Implementuje oficjalną specyfikację Base45 wykorzystywaną w unijnych cyfrowych certyfikatach COVID i innych certyfikatach zdrowotnych.
Oszczędność miejsca
Bardziej wydajny niż Base32 w kontekście kodów QR – pomaga zmniejszyć rozmiar i złożoność kodu.
>> informacje techniczne
Jak działa Base45:
Base45 wykorzystuje 45 znaków dopasowanych do trybu alfanumerycznego kodów QR. Dane są kodowane w grupach po 2 bajty do 3 znaków Base45, co poprawia efektywność zapisu w kodach QR w porównaniu z Base64.
Przykład:
"Hello" → %69 VD92EX0
Dlaczego warto używać Base45:
- >Optymalizacja gęstości informacji w kodzie QR
- >Zgodność ze standardem unijnych certyfikatów cyfrowych
- >Lepsza efektywność niż Base64 przy zapisie w kodach QR
- >Mniejsza liczba modułów i prostsza struktura kodu QR
- >Wyższa niezawodność skanowania na różnych czytnikach
>> najczęstsze pytania
Czym jest kodowanie Base45?
Base45 to schemat kodowania zdefiniowany w RFC 9285, który wykorzystuje 45 znaków dopasowanych do trybu alfanumerycznego kodów QR, aby zwiększyć gęstość i efektywność zapisu danych.
Dlaczego powstał Base45?
Base45 został zaprojektowany z myślą o efektywnym przechowywaniu danych w kodach QR, w szczególności dla unijnego cyfrowego certyfikatu COVID. W takich zastosowaniach jest bardziej wydajny niż Base64.
Czym Base45 różni się od innych kodowań?
Base45 używa dokładnie zestawu znaków obsługiwanego przez tryb alfanumeryczny kodów QR, dzięki czemu może zapisywać o 20–30% więcej danych w tym samym rozmiarze kodu niż Base64.
Gdzie najczęściej stosuje się Base45?
Base45 jest używany głównie w cyfrowych certyfikatach zdrowotnych, unijnym cyfrowym certyfikacie COVID oraz wszędzie tam, gdzie dane muszą być zapisane możliwie kompaktowo w kodzie QR.
// Krótka ściąga
| Wejście | Base45 |
|---|---|
| AB | BB8 |
| Hello!! | %69 VD92EX0 |
| base-45 | UJCLQE7W581 |
| ietf! | QED8WEX0 |
// Przykłady kodu
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
>> Więcej pytań
P: Jakich 45 znaków używa Base45?
O: Dokładnie tych z trybu alfanumerycznego kodu QR: 0–9, A–Z (tylko wielkie litery), spacji oraz $ % * + - . / :. Alfabet określa RFC 9285.
P: Jak długi jest ciąg Base45 w porównaniu z oryginalnymi bajtami?
O: Każde 2 bajty wejścia dają 3 znaki, pojedynczy bajt na końcu daje 2 znaki. Dla n bajtów powstaje 3·⌊n/2⌋ + 2·(n mod 2) znaków, czyli ok. 150% długości wejścia.
P: Dlaczego Base45 jest lepszy od Base64 w kodach QR?
O: Tryb alfanumeryczny QR zużywa ok. 5,5 bitu na znak, tryb bajtowy (potrzebny dla + i / w Base64) 8 bitów. W tym samym kodzie mieści się więc więcej danych. Unijne certyfikaty COVID: CBOR → COSE → zlib → Base45 → prefiks HC1: → QR.