Koder/Dekoder Base64
Darmowy online koder i dekoder Base64 do szybkiego kodowania i dekodowania, oferujący bezpieczną obsługę UTF-8, konwersję bezpieczną dla URL, automatyczne dopełnianie, statystyki w czasie rzeczywistym oraz bezpieczne kopiowanie. Udostępnia przykłady kodu w wielu językach programowania, generowanie Data URI, szczegółowe instrukcje obsługi oraz często zadawane pytania. Przyjazny interfejs z dwukierunkowym uzupełnianiem pól, dostępnością z klawiatury i responsywnym designem. Nie wymaga pobierania, działa bezpośrednio w przeglądarce.
Koduj (Tekst → Base64)
Dekoduj (Base64 → Tekst)
Instrukcja obsługi
Funkcje
- Bezpieczeństwo UTF-8: Poprawna obsługa znaków spoza zakresu ASCII (z użyciem encodeURIComponent/unescape).
- Obsługa URL-safe: Jednoklikowe przełączanie między + / → - _, opcjonalne usuwanie znaku wypełnienia =.
- Przetwarzanie wstępne przed dekodowaniem: Ignorowanie białych znaków, automatyczna konwersja do formatu URL-safe oraz automatyczne dodawanie wypełnienia =.
- Interakcja w czasie rzeczywistym: Dane wejściowe są przetwarzane natychmiast, z wyświetlaniem statystyk długości i wzrostu rozmiaru.
- Użyteczność: Szybkie kopiowanie, dwukierunkowe przenoszenie danych między polami wejściowymi, dostępność z klawiatury, przyjazność dla urządzeń mobilnych.
- Spójny motyw: Brak klas Tailwind dark: — pełne stylizowanie za pomocą motywów DaisyUI.
Czym jest Base64?
Base64 to metoda kodowania danych binarnych na tekst ASCII, powszechnie stosowana do przesyłania obrazów lub zawartości plików przez protokoły tekstowe, takie jak JSON, XML i HTTP.
Mapuje każde 3 bajty na 4 drukowalne znaki, co zazwyczaj powoduje wzrost rozmiaru o około 33%.
Standardowy Base64 używa znaków A–Z, a–z, 0–9, +, / oraz znaku wypełnienia =; wariant URL-safe zastępuje + i / znakami - oraz _, aby uniknąć problemów z escapowaniem w adresach URL.
Typowe zastosowania
- Osadzaj obrazy lub małe pliki jako Data URIs.
- Przesyłaj dane binarne między klientem a serwerem (np. zaszyfrowane dane, skompresowane strumienie).
- Konwertuj tekst na format drukowalny, aby uniknąć niespójności kodowania lub niewidocznych znaków.
FAQ i ważne uwagi
- Zestaw znaków: W środowiskach internetowych najpierw zakoduj tekst jako UTF-8 (to narzędzie wykonuje ten krok automatycznie).
- URL-safe: Dla parametrów lub ścieżek URL preferuj wariant URL-safe i rozważ usunięcie znaków wypełnienia.
- Wypełnienie: Niektóre implementacje pozwalają pominąć =; podczas dekodowania automatycznie uzupełnij dane do wielokrotności 4 znaków.
- Znaki nowej linii: MIME Base64 może zawierać znaki nowej linii; wybierz "Ignoruj białe znaki" podczas dekodowania, aby je obsłużyć.
Jak kodować/dekodować Base64 w językach programowania
const encoded = btoa(unescape(encodeURIComponent(text)));
// Bezpieczne dla URL
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
// Wstępne przetwarzanie: Zamień -_ na +/
let b64 = input.replace(/-/g, '+').replace(/_/g, '/');
if (b64.length % 4 !== 0) b64 = b64.padEnd(b64.length + (4 - (b64.length % 4)), '=');
const text = decodeURIComponent(escape(atob(b64)));
$encoded = base64_encode($text);
// Bezpieczne dla URL
$urlSafe = rtrim(strtr($encoded, '+/', '-_'), '=');
$b64 = strtr($input, '-_', '+/');
// Automatyczne dopełnianie znakiem '='
if (strlen($b64) % 4 !== 0) $b64 .= str_repeat('=', 4 - (strlen($b64) % 4));
$text = base64_decode($b64);
import base64
encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# Kodowanie bezpieczne dla URL (usuń dopełnienie)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
import base64
def b64_decode(s: str) -> str:
s = s.replace('-','+').replace('_','/')
s += '=' * (-len(s) % 4) # Automatyczne dopełnianie znakiem '='
return base64.b64decode(s).decode('utf-8')
import (
"encoding/base64"
)
enc := base64.StdEncoding.EncodeToString([]byte(text))
// Kodowanie bezpieczne dla URL (bez dopełnienia)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
import (
"encoding/base64"
)
decBytes, err := base64.StdEncoding.DecodeString(enc)
// Dekodowanie bezpieczne dla URL (bez dopełnienia)
decURL, err2 := base64.RawURLEncoding.DecodeString(urlEnc)
use base64::{engine::general_purpose, Engine as _};
let enc = general_purpose::STANDARD.encode(text.as_bytes());
// Kodowanie bezpieczne dla URL (bez dopełnienia)
let url_enc = general_purpose::URL_SAFE_NO_PAD.encode(text.as_bytes());
use base64::{engine::general_purpose, Engine as _};
let dec_bytes = general_purpose::STANDARD.decode(&enc).unwrap();
let dec = String::from_utf8(dec_bytes).unwrap();
let url_dec = String::from_utf8(
general_purpose::URL_SAFE_NO_PAD.decode(&url_enc).unwrap()
).unwrap();
import java.nio.charset.StandardCharsets;
import java.util.Base64;
String enc = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));
// Kodowanie bezpieczne dla URL (bez dopełnienia)
String urlEnc = Base64.getUrlEncoder().withoutPadding().encodeToString(text.getBytes(StandardCharsets.UTF_8));
import java.nio.charset.StandardCharsets;
import java.util.Base64;
String dec = new String(Base64.getDecoder().decode(enc), StandardCharsets.UTF_8);
String urlDec = new String(Base64.getUrlDecoder().decode(urlEnc), StandardCharsets.UTF_8);