Base64 Encoder and Decoder
A free online Base64 encoder and decoder for quick encoding and decoding, with convenient features like UTF-8 support, secure copy, and clear.
Codieren (Text → Base64)
Decodieren (Base64 → Text)
Bedienungsanleitung
Base64 kodiert Binärdaten als ASCII, um sie sicher zu übertragen und zu speichern. Die Größe erhöht sich um ca. 33%.
Codieren: Konvertiert reinen Text in Base64 für eine sichere Übertragung.
Decodieren: Stellt den ursprünglichen Text aus einer Base64-Zeichenfolge wieder her.
Funktionen
- UTF-8-sicher: Korrekte Verarbeitung von Nicht-ASCII-Zeichen (mit encodeURIComponent/unescape umschlossen).
- URL-sichere Unterstützung: Ein-Klick-Umschaltung zwischen + / → - _, optionales Entfernen der Füllzeichen =.
- Vorverarbeitung bei Decodierung: Ignorieren von Whitespaces, automatische Wiederherstellung von URL-sicherem Format und Auffüllen von =.
- Interaktiv in Echtzeit: Eingaben werden automatisch verarbeitet; Länge und Größenwachstum werden angezeigt.
- Benutzerfreundlichkeit: Schnelles Kopieren, gegenseitiges Füllen der Ergebnisse, Tastaturzugänglichkeit, mobilfreundlich.
- Einheitliches Design: Keine Tailwind dark:-Klassen – vollständig auf DaisyUI-Themen basierend.
Was ist Base64?
Base64 ist eine Methode zur Kodierung binärer Daten in ASCII-Text, die häufig zum Übertragen von Bildern oder Dateiinhalten über Textprotokolle wie JSON, XML oder HTTP verwendet wird.
Es wandelt jeweils 3 Bytes in 4 druckbare Zeichen um und führt typischerweise zu einem Größenanstieg von etwa 33%.
Standard-Base64 verwendet A–Z a–z 0–9 + / und das Füllzeichen =; die URL-sichere Variante ersetzt +/ durch -_ , um Escape-Probleme in URLs zu vermeiden.
Häufige Anwendungsfälle
- Bilder oder kleine Dateien als Data URI einbetten.
- Binärdaten (z. B. verschlüsselte Texte, komprimierte Streams) zwischen Client und Server übertragen.
- Texte in druckbare Form bringen, um Probleme durch inkonsistente Kodierungen oder unsichtbare Zeichen zu vermeiden.
Häufige Fragen und Hinweise
- Zeichensatz: Im Web-Umfeld sollte der Text zunächst als UTF-8 verarbeitet werden (dieses Tool unterstützt dies intern).
- URL-sicher: Für URL-Parameter oder -Pfade wird die URL-sichere Variante empfohlen; das Füllzeichen kann entfernt werden.
- Füllzeichen: Einige Implementierungen erlauben das Weglassen von =; beim Decodieren muss automatisch auf ein Vielfaches von 4 aufgefüllt werden.
- Zeilenumbrüche: MIME-Base64 kann Zeilenumbrüche enthalten; wählen Sie „Whitespaces ignorieren“, um diese beim Decodieren zu berücksichtigen.
Wie man Base64 in Programmiersprachen codiert und decodiert
JavaScript
Text → Base64 (UTF-8-sicher)
const encoded = btoa(unescape(encodeURIComponent(text)));
// URL-sicher
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
Decodieren (Base64 → Text)
// Vorverarbeitung: Ersetzen Sie -_ durch +/
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)));
PHP
Codieren (Text → Base64)
$encoded = base64_encode($text);
// URL-sicher
$urlSafe = rtrim(strtr($encoded, '+/', '-_'), '=');
Decodieren (Base64 → Text)
$b64 = strtr($input, '-_', '+/');
// Automatisches Hinzufügen von '='
if (strlen($b64) % 4 !== 0) $b64 .= str_repeat('=', 4 - (strlen($b64) % 4));
$text = base64_decode($b64);
Python
Codieren (Text → Base64)
import base64
encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# URL-sichere Codierung (ohne Padding)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
Decodieren (Base64 → Text)
import base64
def b64_decode(s: str) -> str:
s = s.replace('-','+').replace('_','/')
s += '=' * (-len(s) % 4) # Automatisches Hinzufügen von '='
return base64.b64decode(s).decode('utf-8')
Go
Codieren (Text → Base64)
import (
"encoding/base64"
)
enc := base64.StdEncoding.EncodeToString([]byte(text))
// URL-sichere Codierung (ohne Füllzeichen)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
Decodieren (Base64 → Text)
import (
"encoding/base64"
)
decBytes, err := base64.StdEncoding.DecodeString(enc)
// URL-sichere Decodierung (ohne Füllzeichen)
decURL, err2 := base64.RawURLEncoding.DecodeString(urlEnc)
Rust
Codieren (Text → Base64)
use base64::{engine::general_purpose, Engine as _};
let enc = general_purpose::STANDARD.encode(text.as_bytes());
// URL-sichere Codierung (ohne Füllzeichen)
let url_enc = general_purpose::URL_SAFE_NO_PAD.encode(text.as_bytes());
Decodieren (Base64 → Text)
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();
Cargo-Abhängigkeit: base64 = "0.22"
Java
Codieren (Text → Base64)
import java.nio.charset.StandardCharsets;
import java.util.Base64;
String enc = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));
// URL-sichere Codierung (ohne Füllzeichen)
String urlEnc = Base64.getUrlEncoder().withoutPadding().encodeToString(text.getBytes(StandardCharsets.UTF_8));
Decodieren (Base64 → Text)
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);