Darmowy konwerter

Koder Base64 / Dekoder

Zakoduj tekst lub pliki w formacie Base64 i natychmiast dekoduj ciągi znaków Base64 w przeglądarce. Bezpłatne, prywatne i nie wymaga przesyłania.

O tym narzędziu

Base64 to schemat kodowania, który reprezentuje dane binarne jako tekst ASCII przy użyciu 64 drukowalnych znaków: A-Z, a-z, 0-9, plus (+) i ukośnik (/), z równościami (=) używanymi do dopełnienia. Format został pierwotnie zaprojektowany tak, aby załączniki binarne przetrwały transport wiadomości e-mail z czystością 7-bitową, ale obecnie rozszerzył się do dziesiątek zastosowań: adresy URL danych w formacie HTML, JSON zawierający dane obrazu, ładunki JWT, podstawowe nagłówki uwierzytelniające i dowolny protokół tekstowy, który musi przenosić bajty.

Kodowanie zajmuje 3 bajty wejściowe i daje 4 znaki ASCII na wyjściu. Dane wyjściowe są zatem o 33% dłuższe niż dane wejściowe — co stanowi koszt dopasowania pliku binarnego do formatu bezpiecznego dla tekstu. Dekodowanie odwraca dokładnie ten proces, odzyskując oryginalne bajty z zakodowanego tekstu.

To narzędzie obsługuje oba kierunki. Tryb kodowania pobiera tekst (lub plik binarny poprzez przesyłanie) i generuje tekst base64. Tryb dekodowania pobiera tekst Base64 i tworzy oryginalny tekst lub plik binarny do pobrania. W przypadku tokenów i identyfikatorów obsługiwany jest wariant bezpieczny dla adresu URL (przy użyciu - i _ zamiast + i /).

Dlaczego warto używać Base64

Base64 to standardowy sposób osadzania danych binarnych w kontekstach tekstowych. Obrazy wbudowane w formacie HTML korzystają z adresów URL danych (data:image/png;base64,...), więc mała ikona może być dostarczana ze stroną bez osobnego żądania. Ładunki JSON zawierające obrazy, certyfikaty lub podpisy kodują je jako ciągi Base64. Tokeny JWT to trzy segmenty zakodowane w standardzie Base64 oddzielone kropkami.

Base64 normalizuje także obsługę znaków dla protokołów, które źle obsługują 8-bitowy plik binarny. Nagłówki uwierzytelniania (uwierzytelnianie podstawowe używa Base64), załączniki do wiadomości e-mail, pliki konfiguracyjne zawierające klucze i wiele interfejsów API wymaga Base64, ponieważ pliki binarne nie mogą niezawodnie przechodzić przez ich potoki.

Jak używać

Wklej dane, wybierz kierunek.

  1. Wybierz kodowanie lub dekodowanie: Encode generuje tekst base64 na podstawie danych binarnych lub tekstowych. Dekodowanie odwraca proces.
  2. Dodaj dane wejściowe: Aby zakodować, wklej tekst lub prześlij plik binarny. Aby zdekodować, wklej tekst base64. Narzędzie automatycznie wykrywa wariant bezpieczny dla adresu URL.
  3. Konwertuj: Przeglądarka używa btoa do kodowania i atob do dekodowania (z obsługą UTF-8 dla tekstu innego niż ASCII). Dane wyjściowe są dokładne i deterministyczne.
  4. Skopiuj lub pobierz: Zakodowany tekst można osadzić w adresach URL, JSON, adresach URL danych HTML lub dowolnym protokole tekstowym. Zdekodowane pliki binarne pobierane są jako plik z domysłem odpowiedniego rozszerzenia na podstawie wykrytego typu pliku.

Typowe przypadki użycia

Szczegóły techniczne

Base64 odwzorowuje każde 6 bitów wejściowych na jeden z 64 znaków wyjściowych. Trzy bajty wejściowe (24 bity) dają cztery znaki wyjściowe. Jeśli długość wejściowa nie jest wielokrotnością 3, koder dołącza jeden lub dwa znaki równości, aby uzupełnić dane wyjściowe o wielokrotność 4 znaków.

Bezpieczny dla adresów URL base64 (zdefiniowany w sekcji 5 RFC 4648) zastępuje + przez - i / przez _, aby utworzyć ciągi znaków, których można bezpiecznie używać w adresach URL i nazwach plików bez dalszej ucieczki. W kontekstach bezpiecznych dla adresów URL czasami pomijane są znaki równości; dekodery zazwyczaj akceptują obie formy.

Btoa i atob JavaScriptu obsługują bezpośrednio ASCII, ale nie działają w przypadku ciągów znaków innych niż ASCII. W przypadku tekstu w formacie UTF-8 konwerter używa TextEncoder/TextDecoder do konwersji tekstu na plik binarny, a następnie koduje plik binarny w formacie Base64. To poprawnie obsługuje emoji, znaki akcentowane i pisma inne niż łacińskie.

Najlepsze praktyki

Często zadawane pytania

Do czego służy kodowanie Base64?
Base64 konwertuje dane binarne na tekst ASCII. Typowe zastosowania obejmują osadzanie obrazów w formacie HTML (identyfikatory URI danych), kodowanie załączników do wiadomości e-mail, przesyłanie danych binarnych w interfejsach API JSON i przechowywanie binarnych obiektów BLOB w tekstowych bazach danych.
Czy kodowanie Base64 szyfruje moje dane?
Nie. Base64 to kodowanie, a nie szyfrowanie. Każdy może zdekodować ciąg Base64. Został zaprojektowany z myślą o bezpiecznym transporcie danych, a nie o bezpieczeństwie. W przypadku wrażliwych danych używaj rzeczywistego szyfrowania (AES, RSA).
Dlaczego Base64 zwiększa rozmiar pliku?
Base64 reprezentuje każde 3 bajty danych wejściowych jako 4 znaki ASCII, co powoduje wzrost rozmiaru o około 33%. Jest to kompromis w postaci możliwości bezpiecznego osadzania danych binarnych w formatach tekstowych.
Czy mogę kodować obrazy do formatu Base64?
Tak. Prześlij plik obrazu, a narzędzie wygeneruje ciąg Base64, którego możesz użyć jako identyfikatora URI danych (data:image/png;base64,...) w HTML lub CSS.
Czy tokeny JWT są base64?
Tak — JWT składa się z trzech segmentów zakodowanych w formacie base64url oddzielonych kropkami. Pierwszy to nagłówek, drugi to ładunek, trzeci to podpis.
Czy moje dane są przesyłane na serwer?
Nie. Kodowanie i dekodowanie odbywa się w przeglądarce za pomocą btoa, atob, TextEncoder i TextDecoder.
Jaki jest maksymalny rozmiar?
Do 50MB. Pamięć przeglądarki ogranicza praktyczny rozmiar dla bardzo dużych danych wejściowych.
Dlaczego moje zdekodowane dane wyjściowe wyglądają jak śmieci?
Najprawdopodobniej źródło było binarne, a nie tekstowe. Przejdź do trybu pobierania pliku, aby pobrać plik binarny, lub sprawdź, czy dane wejściowe są w rzeczywistości tekstem zakodowanym w standardzie Base64, a nie binarnym.