Kodowanie Base64
Konwertuj zwykły tekst lub ciągi binarne na wyjście zakodowane w Base64. Obsługuje standardowe i bezpieczne dla URL alfabety zgodnie z RFC 4648 oraz pełne UTF-8, w tym emoji i skrypty nielatynowe.
Base64 zwiększa rozmiar danych o około 33%. Ta wymiana istnieje, ponieważ dane binarne muszą przetrwać w kanałach tekstowych, takich jak nagłówki e-mail, ładunki JSON i nagłówki HTTP Authorization. Zdefiniowane w RFC 4648, Base64 używa alfabetu 64-znakowego: A-Z, a-z, 0-9, plus + i / (lub - i _ w trybie bezpiecznym dla URL). Ten kodownik oparty na przeglądarce przetwarza Twoje wejście całkowicie na Twoim urządzeniu, korzystając z wbudowanych API btoa() i TextEncoder. Prywatne ciągi, tokeny i dane uwierzytelniające nigdy nie są wysyłane na żaden serwer.
Jak zakodować do Base64
- Wpisz lub wklej tekst, który chcesz zakodować, do pola wejściowego.
- Wybierz tryb kodowania Standardowy lub Bezpieczny dla URL.
- Zakodowane wyjście Base64 pojawia się natychmiast w panelu wyjściowym.
- Kliknij Kopiuj, aby skopiować wynik do schowka.
Jak działa kodowanie Base64
Alfabet 64-znakowy
Base64 używa alfabetu 64-znakowego: A-Z (26), a-z (26), 0-9 (10) oraz dwóch dodatkowych znaków. Standardowe Base64 (RFC 4648 §4) używa + i /. Bezpieczne dla URL Base64 (RFC 4648 §5) zastępuje je - i _. Kodowanie bierze trzy bajty wejściowe (24 bity), dzieli je na cztery grupy po 6 bitów i mapuje każdą wartość 6-bitową na odpowiadający znak alfabetu. Dlatego długość wyjścia Base64 jest zawsze wielokrotnością 4.
Wypełnienie
Ponieważ Base64 przetwarza dane w grupach po 3 bajty, długości wejściowe, które nie są wielokrotnościami 3, wymagają wypełnienia. Jeden pozostały bajt produkuje == na końcu. Dwa pozostałe bajty produkują =. Wypełnienie jest wymagane w standardowym Base64, ale często jest usuwane w implementacjach bezpiecznych dla URL, szczególnie w JWT.
Przykład
Wejście
Cześć, Świecie!
Wyjście (Standardowe Base64)
Q3plc3QsIFN3aWV0Y2Uh
Dwa znaki wypełnienia = pojawiają się, ponieważ "Cześć, Świecie!" ma 15 bajtów - 15 mod 3 = 0, więc nie ma pozostałych bajtów w ostatniej grupie.
Typowe zastosowania
- Podstawowa autoryzacja HTTP - nagłówki
Authorization: Basicwymagająnazwa_użytkownika:hasłozakodowanego w Base64 - Obrazy inline w HTML/CSS - URI danych:
data:image/png;base64,iVBORw0KGgo... - Tokeny JWT - sekcje nagłówka i ładunku używają bezpiecznego dla URL Base64
- Załączniki e-mailowe - MIME (RFC 2045) używa Base64 do kodowania załączników binarnych w tekstowych protokołach e-mailowych
Standardowe vs Bezpieczne dla URL Base64
Standardowe Base64 używa + i /, które mają specjalne znaczenie w URL. Bezpieczne dla URL Base64 zastępuje je - i _, co sprawia, że wyjście jest bezpieczne w URL, nazwach plików i parametrach zapytań bez kodowania procentowego. Używaj trybu bezpiecznego dla URL dla JWT, tokenów OAuth i wszelkich danych Base64 pojawiających się w URL. Aby dekodować wyjście, użyj Kodera Base64. Aby osadzić zakodowane dane w parametrach zapytania URL, połącz to narzędzie z Koderem URL.
Najczęściej Zadawane Pytania
Czy Base64 to forma szyfrowania?
Nie. Base64 to schemat kodowania, a nie szyfrowania ani żadnej formy zabezpieczenia. Każdy, kto ma ciąg Base64, może go natychmiast odszyfrować bez klucza. Nie zapewnia żadnej poufności. Użyj AES-256 lub RSA, jeśli potrzebujesz chronić dane - Base64 służy do bezpiecznego transportu danych binarnych w kanałach tekstowych, a nie do ukrywania informacji.
Dlaczego wyjście Base64 zawsze kończy się na == lub =?
Base64 koduje dane w grupach po 3 bajty na 4 znaki. Gdy długość wejściowa nie jest podzielna przez 3, ostatnia grupa ma 1 lub 2 bajty zamiast 3. Jeden pozostały bajt produkuje == jako wypełnienie; dwa pozostałe bajty produkują =. Wypełnienie zapewnia, że długość wyjściowa jest zawsze wielokrotnością 4, co jest wymagane przez RFC 4648.
Czy ten kodownik poprawnie obsługuje Unicode i emoji?
Tak. Kodownik najpierw konwertuje tekst na bajty UTF-8 za pomocą API TextEncoder przeglądarki, zanim zastosuje Base64. Znaki Unicode, w tym emoji (4 bajty w UTF-8), znaki chińskie, litery arabskie i akcentowane znaki łacińskie są kodowane poprawnie i dekodowane z powrotem do oryginalnego tekstu.
Czym jest bezpieczny dla URL Base64 i kiedy powinienem go użyć?
Bezpieczny dla URL Base64 (RFC 4648 §5) zastępuje + z - i / z _. Używaj go zawsze, gdy dane Base64 pojawiają się w URL, nazwie pliku, ciasteczku lub nagłówku HTTP, gdzie standardowe znaki mogłyby być źle zinterpretowane. Tokeny JWT, tokeny dostępu OAuth i weryfikatory kodu PKCE wszystkie używają bezpiecznego dla URL Base64.
O ile zwiększa rozmiar danych Base64?
Kodowanie Base64 zwiększa rozmiar danych dokładnie o 33,33% - 3 bajty wejściowe stają się 4 znakami wyjściowymi (4/3 = 1,333...). Dodatkowo, wyjście może zawierać do 2 znaków wypełnienia. Dla dużych ładunków binarnych, protokoły multipart lub binarne są bardziej efektywne pod względem przepustowości niż Base64.