Dekoder Base64

Zdekoduj dane wejściowe Base64 z powrotem do ich oryginalnego formatu za pomocą naszego narzędzia do dekodowania Base64, aby łatwo odzyskać dane.

5 z 2 ocen
Dekoder Base64

Dekoder Base64 to bezpłatne narzędzie, które odtwarza oryginalne dane z wejścia zakodowanego w Base64.

Czym jest kodowanie Base64 i do czego służy?

Base64 pozwala przedstawiać dane binarne za pomocą ograniczonego zestawu drukowalnych znaków tekstowych. Stosuje się je, ponieważ niektóre systemy są przystosowane do bezpiecznego przesyłania tekstu, ale nie radzą sobie niezawodnie z dowolnymi bajtami.

Standardowy alfabet Base64 obejmuje wielkie i małe litery, cyfry, znak plus oraz ukośnik. Na końcu może pojawić się znak równości pełniący funkcję dopełnienia. Kodowanie zwiększa rozmiar danych, ponieważ każde trzy bajty wejściowe są zamieniane na cztery znaki Base64.

Base64 jest metodą kodowania, a nie szyfrowania. Każdy, kto ma zakodowaną wartość, może ją zdekodować bez hasła ani tajnego klucza, więc Base64 nie zapewnia poufności. Nie traktuj wartości Base64 jako bezpiecznego miejsca na hasła, klucze API ani dane osobowe.

Schemat: tekst przechodzi przez narzędzie Dekoder Base64 w obu kierunkach

Jak korzystać z dekodera Base64?

Wklej wartość Base64 do narzędzia i ją zdekoduj, a następnie odczytaj wynik w polu Zdekodowany Base64. Serwer wykonuje konwersję za pomocą funkcji base64_decode języka PHP.

Dane wejściowe są przesyłane na serwer przez HTTPS i nie są przechowywane. Operacja odbywa się na serwerze, a nie wyłącznie w przeglądarce, dlatego nie przesyłaj poufnych materiałów, jeśli nie masz zgody na przekazanie ich do zewnętrznej usługi.

Base64 zachowuje bajty, a nie ich znaczenie. Liczby, spacje i znaki interpunkcyjne są po prostu częścią pierwotnej sekwencji bajtów. Można również kodować litery ze znakami diakrytycznymi i tekst zapisany alfabetem innym niż łaciński, ale zdekodowane bajty trzeba odczytać przy użyciu właściwego kodowania znaków. W przypadku współczesnych treści internetowych jest to zwykle UTF-8.

Narzędzie Dekoder Base64 w serwisie digily.link wraz z formularzem wprowadzania danych

Przykłady i wybór wariantu

Prosty przykład standardowego Base64 wygląda tak:

Wejście: SGVsbG8=

Wyjście: Hello

Końcowy znak równości jest dopełnieniem. Uzupełnia blok Base64 do czterech znaków i nie oznacza dodatkowego znaku w zdekodowanym wyniku.

Najczęściej spotkasz dwa warianty alfabetu:

  • Standardowy Base64 używa znaków + i /. Jest powszechnie stosowany w wiadomościach MIME, identyfikatorach URI danych oraz wielu interfejsach API opartych na JSON.
  • Base64url używa zamiast nich znaków - i _. Jest przeznaczony do adresów URL, parametrów zapytań i tokenów, w których + oraz / mogą sprawiać problemy. Dopełnienie jest często pomijane.

Wybierz wariant wymagany przez system, który utworzył daną wartość. Standardowy dekoder może błędnie odczytać lub odrzucić dane Base64url, jeśli alfabet nie zostanie wcześniej przekształcony. Aby odwrócić ten proces, użyj narzędzia Kodowanie Base64. W przypadku zakodowanego obrazu narzędzie Base64 na obrazek może być przydatniejsze niż wyświetlanie surowych danych binarnych jako tekstu.

Przykładowy wynik wygenerowany przez narzędzie Dekoder Base64

Gdzie Base64 jest używane w praktyce?

Base64 często pojawia się tam, gdzie dane binarne muszą zostać przesłane w formacie przeznaczonym do obsługi tekstu. Zakodowana wartość może występować samodzielnie albo być częścią większego dokumentu.

  • Identyfikatory URI danych osadzają małe obrazy, czcionki i inne zasoby w kodzie HTML lub CSS, często po prefiksie takim jak data:image/png;base64,.
  • Ładunki JSON czasami zawierają pliki, certyfikaty lub materiały kryptograficzne zapisane jako ciągi Base64, ponieważ JSON nie ma własnego typu wartości binarnych.
  • Wiadomości MIME wykorzystują Base64 do kodowania załączników i tych części wiadomości, których nie da się bezpiecznie przesłać jako zwykłego tekstu.
  • Ciągi zapytań i tokeny internetowe mogą używać Base64url, aby uniknąć znaków mających specjalne znaczenie w adresach URL.
  • Pliki konfiguracyjne i zmienne środowiskowe czasami zawierają dane Base64, ponieważ obsługujący je system oczekuje drukowalnego tekstu.

Umiędzynarodowione nazwy domen, które wyglądają jak zakodowane dane, wymagają innego dekodera. Etykieta domeny zaczynająca się od xn-- używa Punycode, a nie Base64. Przekazanie jej do dekodera Base64 nie pozwoli odzyskać właściwej nazwy domeny w Unicode.

Dlaczego dekodowanie Base64 nie działa albo daje nieczytelny wynik?

Dekodowanie Base64 zwykle kończy się błędem lub daje nieczytelny wynik, gdy dane używają niewłaściwego wariantu, są niekompletne, zostały zakodowane dwukrotnie albo zawierają dane binarne zamiast tekstu.

  • Niewłaściwy alfabet: problem występuje, gdy dane Base64url zawierające - lub _ są traktowane jako standardowy Base64 albo odwrotnie.
  • Brakujące lub uszkodzone dopełnienie: może pozostawić niekompletny blok końcowy. Niektóre dekodery akceptują brak dopełnienia, ale liczba znaków dająca resztę jeden przy dzieleniu przez cztery nie może tworzyć prawidłowej wartości Base64.
  • Podwójne kodowanie: po pierwszym dekodowaniu powstaje kolejny ciąg wyglądający jak Base64. Jeśli źródło celowo zakodowało dane dwukrotnie, może być potrzebne ponowne dekodowanie.
  • Wynik binarny: jest normalny w przypadku obrazów, plików PDF, skompresowanych archiwów i zaszyfrowanych bajtów. Otwarcie takich danych jako tekstu spowoduje wyświetlenie symboli lub znaków zastępczych.
  • Niewłaściwe kodowanie tekstu: powoduje błędne wyświetlanie prawidłowo zdekodowanych bajtów. Na przykład dane UTF-8 odczytane jako Windows-1252 mogą zamienić litery ze znakami diakrytycznymi w zniekształcony tekst.
  • Dodatkowa otaczająca zawartość: może obejmować prefiks identyfikatora URI danych, cudzysłowy, sekwencję ucieczki JSON lub kodowanie procentowe adresu URL. Takie elementy należy najpierw usunąć.

Domyślny tryb funkcji base64_decode w PHP nie jest rygorystyczny i może pomijać znaki spoza standardowego alfabetu. Pozwala to obsługiwać podziały wierszy w danych sformatowanych jako MIME, ale może też ukryć błąd kopiowania zamiast wyraźnie go zgłosić. Jeśli wynik jest nieoczekiwany, porównaj go z formatem źródłowym i sprawdź oryginalną wartość znak po znaku.

Najczęściej zadawane pytania

Czy Base64 rozróżnia wielkie i małe litery?

Tak. Wielkie i małe litery oznaczają różne wartości w alfabecie Base64. Zmiana wielkości liter w celu ujednolicenia zapisu uszkodzi zdekodowane bajty.

Czy dekoder Base64 może zdekodować JWT?

JSON Web Token zwykle zawiera sekcje zakodowane w Base64url i rozdzielone kropkami. Każdą sekcję trzeba przetworzyć osobno, a pominięte dopełnienie może wymagać przywrócenia. Odczytanie ładunku nie weryfikuje podpisu tokena ani nie potwierdza autentyczności jego zawartości.

Czy zdekodowane dane Base64 mogą zawierać wirusa lub złośliwy plik?

Tak, ponieważ Base64 może reprezentować dowolne bajty, w tym pliki wykonywalne, skrypty i złośliwe dokumenty. Samo dekodowanie nie uruchamia zawartości, ale zapisanie lub otwarcie nieznanego wyniku może być niebezpieczne. Zanim zaczniesz przetwarzać dane binarne, sprawdź oczekiwany typ pliku i jego źródło.

Skąd biorą się znaki null w zdekodowanym wyniku?

Bajty zerowe mogą występować w formatach binarnych oraz w tekście zakodowanym jako UTF-16, gdzie wielu znakom alfabetu łacińskiego towarzyszy bajt o wartości zero. Jeśli według źródła dane są tekstem, sprawdź ich kodowanie znaków zamiast usuwać bajty zerowe, ponieważ może to uszkodzić dane.

Czy Base64 ma własne rozszerzenie pliku?

Nie. Base64 jest sposobem reprezentacji danych, a nie formatem pliku, dlatego nie wymaga określonego rozszerzenia. To zdekodowane bajty decydują, czy wynik jest plikiem PNG, PDF, archiwum ZIP, plikiem tekstowym czy czymś innym.

Co sprawdzić na koniec?

Upewnij się, że została skopiowana wyłącznie zakodowana wartość, ustal, czy używa standardowego Base64, czy Base64url, i zachowaj oryginalną wielkość liter. Jeśli wynik jest nieczytelny, sprawdź, czy należy otworzyć go jako plik zamiast wyświetlać jako tekst. Nie zakładaj, że poprawnie zdekodowana wartość jest wiarygodna lub poufna.

Podobne narzędzia

Kodowanie Base64

Zakoduj dowolny ciąg znaków do formatu Base64 za pomocą naszego narzędzia do kodowania Base64 dla bezpiecznego kodowania danych.

4,958
41

Popularne narzędzia