Koder i dekoder Base64

Konwertuj tekst i pliki do Base64 i z powrotem. Poprawnie obsługuje Unicode, wspiera bezpieczny dla URL wariant base64url i dokładnie wyjaśnia, dlaczego nieprawidłowe dane nie przechodzą.

Działa w przeglądarceBez rejestracjiNic nie jest wysyłane

Wynik Base64

Jak używać: Kodowanie / dekodowanie Base64

  1. Wybierz Koduj lub Dekoduj.
  2. Wpisz lub wklej dane. Wynik aktualizuje się podczas pisania.
  3. Dla URL, JWT i nazw plików zaznacz Bezpieczny dla URL, aby używać - i _, i opcjonalnie pomiń dopełnienie =.
  4. Aby osadzić obraz lub czcionkę, kliknij Koduj plik i pozostaw zaznaczone Wynik jako data URI.
  5. Skopiuj wynik lub użyj Zamień, aby przekazać go z powrotem w odwrotnym kierunku.

Jak działa Base64

Base64 reprezentuje dane binarne za pomocą 64 drukowalnych znaków ASCII: A-Z, a-z, 0-9, + i /. Każde 3 bajty wejścia stają się 4 znakami, więc zakodowane dane są o około 33% większe. Gdy długość wejścia nie jest wielokrotnością 3, wynik jest dopełniany jednym lub dwoma znakami =. Base64 to kodowanie, a nie szyfrowanie: każdy może je zdekodować.

Standardowe Base64 a base64url

Znaki + i / mają specjalne znaczenie w URL-ach i ścieżkach plików. Alfabet bezpieczny dla URL z RFC 4648 §5 zastępuje je znakami - i _ i zwykle pomija dopełnienie. JWT, wiele parametrów OAuth i niektóre API chmurowe używają base64url. Tutejszy dekoder automatycznie akceptuje oba alfabety.

Unicode i pułapka btoa()

W przeglądarkach btoa("café") działa, ale btoa("日本") rzuca wyjątek, ponieważ btoa akceptuje tylko Latin-1. Poprawne podejście to najpierw zakodować tekst do bajtów UTF-8, co robi to narzędzie. W JavaScripcie: btoa(String.fromCharCode(...new TextEncoder().encode(text))), a w Node.js Buffer.from(text).toString('base64').

Typowe zastosowania

  • Data URI dla małych obrazów i czcionek w CSS lub HTML
  • Nagłówki HTTP Basic authentication (zakodowane user:password)
  • Załączniki binarne w payloadach JSON i e-mailach (MIME)
  • Kubernetes Secrets, które przechowują wartości w Base64

Najczęściej zadawane pytania

Czy Base64 to szyfrowanie?
Nie. Base64 to odwracalne kodowanie bez klucza. Każdy może je zdekodować, więc nigdy nie używaj go do ukrywania haseł ani sekretów.
Dlaczego mój Base64 nie daje się zdekodować?
Typowe przyczyny to znaki spoza alfabetu (często przypadkowy cudzysłów lub znak nowej linii z kopiowania), obcięty ciąg lub domieszka tekstu, który nie jest Base64. Komunikat błędu pokazuje pozycję pierwszego problemu.
Zdekodowany wynik wygląda jak śmieci. Dlaczego?
Dane są prawdopodobnie binarne, np. obraz, plik skompresowany lub zaszyfrowane bajty, a nie tekst. Narzędzie to wykrywa, pokazuje zrzut hex i pozwala pobrać surowe bajty.
Czy potrzebuję dopełnienia =?
Wiele dekoderów, w tym ten, działa bez niego, bo z długości wynika, ilu bajtów brakuje. Niektóre rygorystyczne dekodery go wymagają. JWT i większość zastosowań base64url pomija dopełnienie.
Czy moje pliki są wysyłane?
Nie. Pliki są odczytywane i kodowane lokalnie przez File API przeglądarki. Nic nie trafia na serwer.

Powiązane narzędzia