Jak używać
- Wklej ciąg Base64 w polu wejściowym albo kliknij „Otwórz plik”, aby wczytać plik zawierający tekst w Base64.
- Pozostaw wyjście jako tekst i wybierz „Kodowanie tekstu” (domyślnie UTF-8) albo w przypadku danych binarnych ustaw „Wyjście jako” na „Hex”.
- Jeśli dekodowanie się nie powiedzie, przeczytaj komunikat o błędzie: podaje on pozycję pierwszego nieprawidłowego znaku.
- Skopiuj zdekodowany wynik lub go pobierz.
Jakie dane akceptuje dekoder
Dekodowanie odwraca kodowanie: każdy znak jest zamieniany z powrotem na swoją 6-bitową wartość, a każde cztery znaki dają trzy bajty. Base64 spotykany w praktyce rzadko jest idealnie czysty, dlatego ten dekoder toleruje typowe odstępstwa:
- Spacje i podziały wierszy są ignorowane, więc zawinięte treści MIME i bloki PEM można wkleić bez zmian. Najpierw jednak usuń wiersze
-----BEGINi-----END: zawarte w nich litery i myślniki są prawidłowymi znakami Base64 i zostałyby zdekodowane jako dane. - Dane w wariancie bezpiecznym dla URL ze znakami
-i_dekodują się tak samo jak standardowy Base64 ze znakami+i/. - Brak dopełnienia nie stanowi problemu. Odrzucana jest tylko długość 4n + 1 znaków, ponieważ z jednego pozostałego znaku nie da się utworzyć bajtu; zwykle oznacza to, że ciąg został obcięty.
- Data URI również są obsługiwane: początkowy prefiks
data:...;base64,jest usuwany przed dekodowaniem.
Wyjście tekstowe lub binarne
Wynikiem dekodowania jest zawsze ciąg bajtów. Jeśli oryginał był tekstem, pozostaw wyjście tekstowe i wybierz jego zestaw znaków. Jeśli był to obraz, PDF, archiwum, klucz lub szyfrogram, żaden zestaw znaków nie uczyni go czytelnym: ustaw „Wyjście jako” na „Hex”, aby przejrzeć bajty, albo otwórz Base64 na plik lub Base64 na obraz, aby wyświetlić podgląd i zapisać dane. Pierwsze znaki często zdradzają zawartość:
| Base64 zaczyna się od | Zdekodowana zawartość |
|---|---|
iVBORw0KGgo | Obraz PNG |
/9j/ | Obraz JPEG |
R0lGOD | Obraz GIF |
JVBERi0 | Dokument PDF |
UEsDB | Archiwum ZIP, w tym DOCX, XLSX i JAR |
H4sI | Dane skompresowane algorytmem gzip |
eyJ | Obiekt JSON, np. nagłówek JWT |
Skąd biorą się dziwne znaki w zdekodowanym tekście
- Niewłaściwy zestaw znaków. Tekst UTF-8 odczytany jako Windows-1252 zamienia é w
é, a tekst GBK lub Shift_JIS odczytany jako UTF-8 wyświetla znaki zastępcze (�). Wybierz zestaw znaków, w którym tekst został zapisany. - Dane binarne. Przypadkowe symbole z nielicznymi czytelnymi fragmentami, takimi jak
PNGlubPKblisko początku, oznaczają, że zawartość jest plikiem, a nie tekstem. - Dane skompresowane lub zaszyfrowane. Strumienie gzip, Protocol Buffers i szyfrogramy dekodują się poprawnie, ale nie są tekstem. Wyjście Hex pokazuje, co faktycznie się w nich znajduje.
- Podwójne kodowanie. Jeśli wynik sam jest ciągiem Base64, wklej go ponownie w polu wejściowym i zdekoduj drugi raz.
Dekodowanie Base64 w kodzie
# Python
base64.b64decode(s).decode('utf-8')
// Node.js (akceptuje też wariant bezpieczny dla URL)
Buffer.from(s, 'base64').toString('utf8')
// Przeglądarka: atob() zwraca jeden znak na bajt, więc potem trzeba zdekodować UTF-8
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))
# Powłoka w systemach Linux i macOS
echo 'SGVsbG8=' | base64 --decode
Specyfikacja
| Alfabet | A-Z a-z 0-9 + / |
|---|---|
| Rozmiar wyniku | 4 znaki na 3 bajty (ok. 133%) |
| Dopełnienie | = do wielokrotności 4 znaków |
| Standard | RFC 4648, sekcja 4 |
| Rozróżnia wielkość liter | Tak |
Przykłady
| Wejście (UTF-8) | Wyjście |
|---|---|
Hello, World! | SGVsbG8sIFdvcmxkIQ== |
Base64.is | QmFzZTY0Lmlz |
你好 | 5L2g5aW9 |
Najczęściej zadawane pytania
Skąd bierze się błąd nieprawidłowego znaku?
%2B i %3D, skopiowane z adresu URL. Usuń cudzysłowy lub najpierw zdekoduj ciąg z kodowania URL. Komunikat o błędzie wskazuje pozycję pierwszego nieprawidłowego znaku.Czy można dekodować Base64 bez dopełnienia?
=, więc ciągi bez dopełnienia pochodzące z tokenów JWT, adresów URL i interfejsów API dekodują się normalnie.Dlaczego wynik jest błędny po skopiowaniu Base64 z adresu URL?
+ na spację. Spacje są tutaj ignorowane, więc te znaki zostają utracone. Przed dekodowaniem zamień spacje z powrotem na +, a dla wartości przesyłanych w adresach URL używaj Base64URL.Jak zdekodować Base64 do obrazu lub pliku?
Czy dane Base64 są wysyłane na serwer?
Nie. Dekodowanie odbywa się w przeglądarce za pomocą JavaScriptu, a dane wejściowe nigdy nie opuszczają urządzenia. Ma to znaczenie przy dekodowaniu tokenów, tajnych danych konfiguracyjnych lub danych osobowych.