Koder/dekoder Base64

Kodowanie Base64 zamienia dane binarne lub tekstowe na bezpieczny format ASCII, szeroko używany w web developmencie, API i przesyłaniu danych. To darmowe narzędzie działa w przeglądarce — koduje i dekoduje błyskawicznie, bez wysyłania danych na serwer.

Built by Bob Article by Lace QA by Ben Shipped

Jak używać

  1. 1

    Wybierz tryb Koduj lub Dekoduj przełącznikiem.

  2. 2

    Wklej swój tekst lub ciąg Base64 do pola wejściowego.

  3. 3

    Wynik pojawi się natychmiast w polu wyjściowym.

  4. 4

    Kliknij Kopiuj, aby skopiować wynik do schowka.

Często zadawane pytania

Ratings & Reviews

Rate this tool

Sign in to rate and review this tool.

Loading reviews…

Czym jest Base64 — w jednym akapicie

Base64 to sposób przedstawiania danych binarnych — bajtów, które niekoniecznie są drukowalnym tekstem — przy użyciu tylko 64 znaków ASCII, które obsłuży każdy system: A-Z, a-z, 0-9 oraz + i /. To nie jest szyfrowanie. To nie jest kompresja. To translacja, która zamienia binaria w coś, co bezpiecznie wstawisz w URL, treść e-maila, ciąg JSON albo w dowolne miejsce oczekujące zwykłego tekstu. Dekodowanie odwraca tę translację.

Każde trzy bajty wejścia stają się czterema znakami wyjścia, dopełnianymi =, by długość była wyrównana. Dlatego ciąg zakodowany w Base64 jest zawsze 33–37% dłuższy niż oryginał.

Jak działa koder/dekoder Microapp

Wklej dowolny tekst w pole wejściowe, a zakodowana wersja pojawi się natychmiast w polu wyjściowym. Konwersja odbywa się w Twojej przeglądarce — tekst nigdy nie dotyka naszych serwerów. Aby zdekodować, przełącz kierunek i wklej swój ciąg Base64; oryginalny tekst się pojawi.

Narzędzie poprawnie obsługuje wejście UTF-8, co ma większe znaczenie, niż się ludziom wydaje. Natywne JavaScriptowe btoa() psuje się na Unicode (spróbuj zakodować „café” — wyrzuca błąd). Koder Microapp najpierw zamienia dane na bajty UTF-8, potem stosuje Base64, więc emoji, znaki diakrytyczne i nieliterowe alfabety przechodzą tam i z powrotem bez problemu.

Przykład krok po kroku. Zakoduj Hello!
Krok 1: bajty to 72 101 108 108 111 33 (ASCII).
Krok 2: przegrupuj w 6-bitowe kawałki: 010010 000110 010101 101100 011011 000110 111100 100001.
Krok 3: każdy 6-bitowy kawałek mapuje się na znak Base64: SGVsbG8h. Gotowe.

Do czego używa się Base64

Osadzanie obrazów bezpośrednio w HTML lub CSS przez URL-e data:image/png;base64,... — obraz mieszka wewnątrz strony, bez osobnego żądania HTTP. Przydatne dla małych ikon albo dokumentów jednostronicowych, które muszą działać offline.

Nagłówki autoryzacji. Basic auth w HTTP dosłownie koduje w Base64 username:password i wysyła. Sam w sobie nie jest bezpieczny — to tylko cienka warstwa zaciemnienia na drucie — dlatego w praktyce Basic auth łączy się z HTTPS.

Załączniki e-mail. Specyfikacja MIME używa Base64 dla wszystkich binarnych załączników, bo protokół SMTP historycznie obsługiwał tylko 7-bitowe ASCII. Nawet nowoczesne e-maile ciągle kodują załączniki w ten sposób.

Payloady JSON przenoszące dane binarne. API przyjmujące pliki w treści JSON zwykle chcą ich w Base64, żeby zmieściły się w polu tekstowym.

Czym Base64 NIE jest

To nie jest szyfrowanie. Każdy zdekoduje ciąg Base64 dwiema linijkami kodu albo tym narzędziem. Jeśli „kodujesz wrażliwe dane” samym Base64, dane nie są chronione — są tylko przebrane. Użyj prawdziwego szyfrowania (AES, RSA), gdy potrzebujesz poufności.

To nie jest kompresja. Base64 zawsze powiększa dane, nigdy ich nie zmniejsza. 33% narzut to cena pozostania w ASCII.

To nie jest hash. Hash jest jednokierunkowy (nie odzyskasz wejścia z wyjścia). Base64 jest w pełni odwracalne — o to chodzi.

Częste pułapki

Base64 URL-safe. Standardowy alfabet używa + i / — oba mają znaczenie wewnątrz URL-i i wymagają procentowego kodowania. Wariant URL-safe zamienia je na - i _ i porzuca wypełnienie =. Jeśli ciąg Base64 z JWT albo tokenu OAuth nie chce się zdekodować, sprawdź, czy to wariant URL-safe.

Złamania linii. Niektóre wyjścia Base64 (zwłaszcza MIME) zawierają złamania linii co 76 znaków. Większość dekoderów je usuwa, ale ścisły dekoder może odrzucić takie wejście. Dekoder Microapp usuwa białe znaki przed dekodowaniem.

Wypełnienie. Długość prawidłowego ciągu Base64 jest zawsze wielokrotnością 4. Ciągi kończące się == miały 1 bajt wejścia w ostatniej grupie; = oznaczało 2 bajty; brak wypełnienia oznaczał 3 bajty. Niektóre implementacje pomijają wypełnienie — większość dekoderów sobie z tym radzi, ale ścisłe mogą się pomylić.

Powiązane narzędzia

Jeśli chcesz zakodować znaki konkretnie do URL-a (nie dowolne binaria), wypróbuj URL Encoder/Decoder. Do jednokierunkowych skrótów, których nie da się odwrócić, użyj MD5 Hash Generator lub SHA-256 Generator. Aby zakodować specjalne znaki HTML, takie jak < i >, jako encje, użyj HTML Encoder/Decoder.