Jak zakodować tekst w Base64
- Wpisz lub wklej tekst w polu Dane wejściowe albo otwórz plik.
- Wybierz zestaw znaków (UTF-8 obsługuje wszystkie języki i emoji), wariant bezpieczny dla URL lub łamanie wierszy co 76 znaków, jeśli ich potrzebujesz.
- Skopiuj wynik w Base64 lub pobierz go jako plik tekstowy.
Jak działa kodowanie Base64
Koder traktuje Twój tekst jako ciąg bajtów, dzieli go na grupy po 3 bajty (24 bity) i zamienia każdą grupę na 4 znaki z 64-znakowego alfabetu. Jeśli ostatnia grupa jest niepełna, na końcu dodawane są znaki = jako dopełnienie. Dlatego wynik w Base64 jest o około 33% dłuższy od danych wejściowych: Man zamienia się w TWFu.
Kodowanie Base64 w popularnych językach programowania
- JavaScript:
btoa(String.fromCharCode(...new TextEncoder().encode(text))) - Python:
base64.b64encode(text.encode()).decode() - PHP:
base64_encode($text) - Java:
Base64.getEncoder().encodeToString(text.getBytes(UTF_8)) - Linux/macOS:
echo -n 'text' | base64
Najczęściej zadawane pytania
Dlaczego wynik w Base64 jest dłuższy niż mój tekst?
Base64 zapisuje 3 bajty za pomocą 4 znaków, więc wynik ma około 4/3 rozmiaru danych wejściowych plus dopełnienie. Znaki spoza alfabetu łacińskiego zajmują w UTF-8 2–4 bajty, dlatego ich zapis w Base64 jest jeszcze dłuższy.
Co oznaczają znaki = na końcu?
To dopełnienie (padding). Jeden znak = oznacza, że ostatnia grupa miała 2 bajty, a dwa znaki == – że miała 1 bajt. W wariancie Base64 bezpiecznym dla URL często się je pomija.
Czy mogę zakodować emoji i polskie znaki?
Tak. Pozostaw zestaw znaków UTF-8, a każdy język, symbol czy emoji zostanie poprawnie zakodowany i będzie można go zdekodować w dowolnym systemie.
Kiedy włączyć łamanie wierszy co 76 znaków?
Tylko w przypadku poczty e-mail (MIME) i niektórych certyfikatów PEM, które wymagają podziału na wiersze. Dla API, JSON-a, adresów URL i data URI pozostaw tę opcję wyłączoną.