> encode | decode | safe <
// Kodowanie Base32 dla czytelnej, jednoznacznej reprezentacji
Łatwy w użyciu
Prosty interfejs do natychmiastowego kodowania/odkodowywania Base32.
Przetwarzanie lokalne
Wszystkie konwersje odbywają się w przeglądarce. Dane nie opuszczają urządzenia.
Czytelny
Używa tylko A‑Z i 2‑7, bez niejednoznacznych znaków.
>> informacje techniczne
Jak działa Base32:
Base32 używa 32 znaków (A‑Z, 2‑7) do reprezentacji danych binarnych. Zaprojektowany, aby był czytelny i pozbawiony niejednoznaczności.
Przykład:
"Hello" → JBSWY3DPEBLW64TMMQ======
Dlaczego używać Base32:
- >Czytelna reprezentacja
- >Bez niejednoznacznych znaków (0,1,O,I)
- >Niewrażliwy na wielkość liter
- >Dobry dla danych wpisywanych przez użytkownika
- >Krótszy niż Base16, dłuższy niż Base64
>> często zadawane pytania
Czym jest kodowanie Base32?
Base32 to system w bazie 32, który używa 32 symboli (A‑Z, 2‑7) do czytelnej reprezentacji danych binarnych.
Kiedy używać Base32?
Gdy potrzeba czytelnego, jednoznacznego kodowania: tokeny autoryzacyjne, klucze API, identyfikatory użytkownika.
Dlaczego nie używa wszystkich znaków?
0, 1, O i I są pomijane, aby uniknąć pomyłek między podobnymi znakami.
Co oznaczają znaki równości?
To znaki dopełnienia (padding), dzięki którym długość jest wielokrotnością 8 — zapewnia to poprawne dekodowanie.
// Krótka ściąga
| Wejście | Base32 | Base64 |
|---|---|---|
| f | MY====== | Zg== |
| fo | MZXQ==== | Zm8= |
| foo | MZXW6=== | Zm9v |
| foob | MZXW6YQ= | Zm9vYg== |
| fooba | MZXW6YTB | Zm9vYmE= |
| foobar | MZXW6YTBOI====== | Zm9vYmFy |
// Przykłady kodu
CLI echo -n foobar | base32
Python base64.b32encode(b'foobar') / base64.b32decode(s)
Go base32.StdEncoding.EncodeToString([]byte("foobar"))
Java new Base32().encodeToString(bytes) // commons-codec
Node.js npm i hi-base32 // no built-in
>> Więcej pytań
P: Czym różni się Base32 od Base64 i Base16?
O: Wszystkie trzy pochodzą z RFC 4648 i różnią się liczbą bitów na znak: Base16 = 4 bity (narzut 100%), Base32 = 5 bitów (60%), Base64 = 6 bitów (33%). Base32 jest dłuższy, ale czytelny i niewrażliwy na wielkość liter.
P: Czy dekodowanie Base32 rozróżnia wielkość liter?
O: Nie. RFC 4648 definiuje alfabet wielkimi literami, ale dekodery powinny traktować małe litery tak samo. To narzędzie zamienia dane wejściowe na wielkie litery przed dekodowaniem, więc jbswy3dp i JBSWY3DP dają ten sam wynik.
P: Gdzie Base32 jest używany w praktyce?
O: Głównie w sekretach TOTP/2FA (Google Authenticator, Authy), adresach onion Tor v3 (56 znaków) oraz identyfikatorach w systemach nierozróżniających wielkości liter, np. niektórych systemach plików czy etykietach DNS.