ByteCompress

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.

0 chars
FreeClient-sideNo signup

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

  1. Wpisz lub wklej tekst, który chcesz zakodować, do pola wejściowego.
  2. Wybierz tryb kodowania Standardowy lub Bezpieczny dla URL.
  3. Zakodowane wyjście Base64 pojawia się natychmiast w panelu wyjściowym.
  4. 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: Basic wymagają nazwa_użytkownika:hasło zakodowanego 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.