Przejdź do treści głównejPrzejdź do kalkulatora
108 kalkulatorówWyniki na żywoRozwiązania krok po kroku

Narzędzie Rechnerpilot

Koder Base64

Koduj tekst UTF-8 jako standardowy Base64 lub dekoduj Base64 do tekstu.

Programiści

Wpisz tekst, aby wygenerować Base64.

Wyjaśnienie

Jak działa Koder Base64

Base64 to metoda kodowania (zdefiniowana w RFC 4648), która przekształca sekwencje bajtów w sekwencję 64 drukowalnych znaków ASCII (A-Z, a-z, 0-9, +, /). Koduje po 3 bajty (24 bity) na 4 znaki (po 6 bitów) i używa = jako dopełnienia na końcu.

Typowe zastosowania to załączniki e-mail (MIME, RFC 2045), adresy data URL dla obrazów (data:image/png;base64,...), tokeny JWT, certyfikaty PEM, HTTP Basic Authentication, interfejsy JSON i pliki konfiguracyjne. To narzędzie przetwarza jednak tylko tekst UTF-8, a nie pliki ani dowolne dane binarne. Wyjście wymaga czterech znaków na każdą rozpoczętą grupę trzech bajtów wejściowych; dopełnienie wpływa na krótkie wejścia.

Ważne: Base64 nie jest szyfrowaniem. Kodowanie może cofnąć każdy bez klucza. Dane zakodowane w Base64 są tak samo czytelne jak tekst oryginalny — jedynie przedstawione w innym formacie.

Typowe błędy

  • Mylenie Base64 z szyfrowaniem: Base64 nie zapewnia żadnego bezpieczeństwa. Każdy może zdekodować zakodowany tekst bez klucza. Dla prywatności używaj prawdziwego szyfrowania (AES, ChaCha20).
  • Zapominanie o znakach niebezpiecznych dla URL: Standardowy Base64 zawiera + i /, które mają specjalne znaczenie w URL. Dla kontekstów URL używaj Base64URL (z - i _) lub kodowania URL.
  • Mylenie znaków tekstu z bajtami: Znaki Unicode mogą zajmować kilka bajtów UTF-8; dlatego długości wyjścia nie można wyprowadzić z liczby znaków JavaScript.
  • „Ukrywanie” danych wrażliwych w Base64: Kodowanie haseł, kluczy API lub danych osobowych w Base64 nie daje ochrony. W logach, adresach URL czy konfiguracjach są łatwe do odczytania.

Ograniczenia tego narzędzia

  • Brak prywatności — Base64 jest czytelny, nie zaszyfrowany.
  • Cztery znaki wyjścia na każdą rozpoczętą grupę trzech bajtów wejściowych; dopełnienie wpływa na krótkie wejścia.
  • Tylko wejście/wyjście tekstowe — bez kodowania plików (obrazy, PDF itp.).
  • Brak trybu Base64URL (RFC 4648 §5) — tylko standardowy Base64 z + i /.
  • Dekodowanie danych binarnych (nie UTF-8) kończy się niepowodzeniem, ponieważ obsługiwane jest tylko wyjście tekstowe.

Źródła

  • RFC 4648: The Base16, Base32, and Base64 Data Encodings. IETF, 2006. Definiuje standardowy Base64 i Base64URL.
  • RFC 2045: MIME Part One — Format of Internet Message Bodies. Definiuje Base64 dla załączników e-mail (Content-Transfer-Encoding).
  • WHATWG HTML Standard: Definicja btoa() i atob() dla konwersji Base64 w przeglądarce.
  • WHATWG Encoding Standard: Definicja TextEncoder, UTF-8 i krytycznego (fatal) dekodowania TextDecoder.

Praktyka

Przykłady praktyczne

Kodowanie ASCII

„Hello” jako tekst UTF-8 jest odtwarzalnie kodowane do „SGVsbG8=”.

Dekodowanie Base64

„U3RyYcOfZQ==” jest odtwarzalnie dekodowane do tekstu Unicode „Straße”.

Znaki specjalne UTF-8

Niemieckie umlauty i znaki specjalne są poprawnie przetwarzane jako UTF-8.

FAQ

Często zadawane pytania

Czym jest Base64?

Base64 to metoda kodowania (RFC 4648), która przekształca dowolne dane w sekwencję 64 drukowalnych znaków ASCII (A-Z, a-z, 0-9, +, /) plus dopełnienie (=). Służy do przesyłania danych binarnych w formatach tekstowych, takich jak JSON, XML czy e-mail.

Czy Base64 to szyfrowanie?

Nie. Base64 to nie szyfrowanie, lecz odwracalne kodowanie. Każdy może zdekodować Base64 bez klucza. Base64 nie zapewnia żadnej prywatności ani bezpieczeństwa. Do danych poufnych używaj prawdziwego szyfrowania (np. AES).

Dlaczego używa się Base64?

Base64 przedstawia sekwencje bajtów za pomocą drukowalnych znaków ASCII. To narzędzie obsługuje jednak wyłącznie wejście tekstowe i wyjście tekstu UTF-8, a nie pliki ani dowolne dane binarne.

Czy tekst jest wysyłany na serwer?

Nie. Kodowanie odbywa się lokalnie w przeglądarce za pomocą natywnych funkcji btoa()/atob() oraz TextEncoder/TextDecoder. Żadne dane nie są przesyłane ani zapisywane.

Dlaczego Base64 powiększa dane?

Base64 mapuje każde trzy bajty wejściowe na cztery znaki. Dla dłuższych sekwencji bajtów narzut zbliża się do jednej trzeciej; przy krótkich wejściach dopełnienie wpływa na dokładną długość.

Jaka jest różnica między Base64 a Base64URL?

Standardowy Base64 używa + i / jako znaków 62 i 63. Base64URL (RFC 4648 §5) zastępuje je przez - i _, aby umożliwić bezpieczne dla URL kodowanie bez dodatkowego escapowania. Ten generator używa standardowego Base64.

Jak obsługiwane są umlauty i znaki specjalne?

Koder przetwarza tekst jako UTF-8. Niemieckie umlauty (ä, ö, ü), ß oraz emoji są poprawnie kodowane jako wielobajtowe sekwencje UTF-8 i odtwarzane przy dekodowaniu.

Czy mogę używać Base64 do haseł lub tokenów?

Base64 może służyć jako format reprezentacji wartości kryptograficznych (np. w JWT), ale sam w sobie nie oferuje ochrony. Zakodowane dane są łatwe do odczytania przez każdego.

Kiedy dekodowanie kończy się niepowodzeniem?

Dekodowanie kończy się niepowodzeniem przy nieprawidłowych znakach, niemożliwej długości, błędnym lub niekanonicznym dopełnieniu oraz przy sekwencjach bajtów, które nie są poprawnym tekstem UTF-8. Spacje i znaki końca wiersza są wcześniej usuwane.

Gdzie spotykam Base64 na co dzień?

W adresach data URL (data:image/png;base64,...), tokenach JWT, załącznikach e-mail (Content-Transfer-Encoding: base64), certyfikatach PEM, HTTP Basic Auth (Authorization: Basic ...) oraz osadzonych czcionkach w CSS.

Wskazówki

Warto wiedzieć

  • Wyjście wymaga czterech znaków na każdą rozpoczętą grupę trzech bajtów wejściowych.
  • Do haseł lub danych wrażliwych: Base64 to NIE szyfrowanie.
  • Znaki UTF-8 (umlauty, emoji) są automatycznie przetwarzane poprawnie.

Powiązane kalkulatory

Więcej narzędzi