Kodowanie

Base32

Kodowanie i dekodowanie Base32 (RFC 4648) — tekst i pliki, bezpośrednio w przeglądarce.

Base32, like Base64, encodes binary data as text, but uses an alphabet of only 32 characters (A-Z2-7) with no easily confused characters (0/O, 1/I). That's why Base32 shows up more often where a string might be typed by a person, not just copy-pasted.

How to use it

Common uses

Things to keep in mind

Base32 grows data by roughly 60% (versus ~33% for Base64) — a trade-off for broader compatibility with case-insensitive systems and manual entry.

Base32hex is a separate variant of the same standard with a different alphabet (0-9A-V) that preserves sort order — it's incompatible with plain Base32.

Artykuł o tym narzędziu: Base32: czym różni się od Base64 i kiedy jest wygodniejszy

Najczęstsze pytania

Czym Base32 różni się od Base64?

Base32 (RFC 4648) używa mniejszego alfabetu — tylko wielkich liter A-Z i cyfr 2-7 — dzięki czemu jest niewrażliwy na wielkość liter i nie myli się z podobnie wyglądającymi znakami jak 0/O czy 1/l. Kosztem jest większy wynik: około 60% narzutu zamiast 33% jak w Base64.

Kiedy warto wybrać Base32 zamiast Base64?

Base32 sprawdza się tam, gdzie wynik musi być odczytywalny przez ludzi lub bezpieczny w systemach nierozróżniających wielkości liter, np. w nazwach plików, kluczach TOTP czy identyfikatorach w systemach plików bez rozróżniania case.

Czy dane są przetwarzane lokalnie?

Tak, kodowanie i dekodowanie działa w całości w przeglądarce — tekst i pliki nie są wysyłane na żaden serwer.

Dlaczego w alfabecie Base32 nie ma cyfr 0 i 1?

Te cyfry łatwo pomylić z literami O oraz I/l przy odczycie czy ręcznym wpisywaniu, dlatego standard RFC 4648 celowo wykluczył je z alfabetu, pozostawiając wyłącznie jednoznaczne znaki.

Czym Base32 różni się od Base32hex?

Base32hex (ten sam RFC 4648) wykorzystuje alfabet 0-9A-V zamiast A-Z2-7 i zachowuje kolejność sortowania ciągów taką samą jak bajtów źródłowych. Oba warianty są ze sobą niekompatybilne.

Artykuły: Kodowanie

Base64: po co jest kodowanie i jak działa

Jak Base64 zamienia dane binarne na tekst ASCII i kiedy naprawdę jest to potrzebne.

URL Encode/Decode: percent-encoding w linkach

Jak znaki specjalne w adresach i parametrach zamieniają się w sekwencje %XX.

HTML Entities: jak bezpiecznie wyświetlać znaki specjalne

Dlaczego znaki < > & trzeba escapować i jak to zapobiega uszkodzeniu znaczników.

JWT: budowa tokenu i co znaczy „dekodowanie" JWT

Header, payload i signature tokenu JWT oraz dlaczego dekodowanie to nie to samo co weryfikacja podpisu.

Unicode Escape: co oznaczają sekwencje \uXXXX

Skąd biorą się sekwencje takie jak \u0041 w JSON i ciągach JS oraz co oznaczają.

ROT13 i szyfr Cezara: proste podstawianie znaków

Dlaczego przesunięcie o 13 liter sprawia, że ROT13 jest samoodwrotny, i po co się go dziś używa.

Punycode: jak umiędzynarodowione domeny działają w DNS

Jak domena z niełacińskimi znakami zamienia się w formę ASCII z prefiksem xn--.

Alfabet Morse'a: jak tekst zamienia się w kropki i kreski

Zasada kodowania liter jako kropek i kresek oraz gdzie alfabet Morse'a jest dziś stosowany.

Data URI: kiedy osadzać obrazy bezpośrednio w kodzie

Jak Data URI osadza zawartość pliku bezpośrednio w HTML lub CSS i kiedy się to opłaca.

Gzip + Base64: kompresja danych do przesyłania jako tekst

Dlaczego skompresowane dane binarne dodatkowo koduje się w Base64, zanim trafią do pola tekstowego.

XML Entities: escapowanie znaków w dokumentach XML

Pięć obowiązkowych encji XML, bez których dokument psuje się podczas parsowania.