Kostenloser Base64-Encoder Online

Text oder Daten im Base64-Format kodieren. Perfekt für die Kodierung von Binärdaten für die Webübertragung.

0 Zeichen

Was ist Base64-Kodierung?

Base64 ist ein Schema zur Binär-zu-Text-Kodierung, das Binärdaten in einem ASCII-String-Format darstellt. Es wird häufig verwendet, um Binärdaten für die Übertragung über Medien zu kodieren, die nur Text unterstützen, wie z.B. E-Mail oder HTTP.

Häufige Anwendungen der Base64-Kodierung

  • Daten-URIs: Einbetten von Bildern und anderen Dateien direkt in HTML oder CSS mittels Daten-URIs.
  • API-Übertragung: Senden von Binärdaten durch JSON-APIs, die nur Text unterstützen.
  • E-Mail-Anhänge: MIME (Multipurpose Internet Mail Extensions) verwendet Base64 zur Kodierung von E-Mail-Anhängen.
  • Basic-Authentifizierung: HTTP Basic Authentication verwendet Base64 zur Kodierung von Anmeldedaten.

Wie funktioniert Base64-Kodierung?

Base64-Kodierung wandelt 8-Bit-Binärdaten in 6-Bit-Zeichen um, wobei ein Satz von 64 ASCII-Zeichen (A-Z, a-z, 0-9, +, /) verwendet wird. Jeweils 3 Bytes Eingabedaten werden in 4 Base64-Zeichen umgewandelt, was die Datengröße um etwa 33% erhöht. Hier ist der technische Prozess:

  • Schritt 1 - In 3-Byte-Blöcke gruppieren: Die Eingabedaten werden in Gruppen von 3 Bytes (24 Bit) aufgeteilt.
  • Schritt 2 - In 6-Bit-Segmente aufteilen: Jeder 24-Bit-Block wird in vier 6-Bit-Segmente aufgeteilt.
  • Schritt 3 - Auf Base64-Zeichen abbilden: Jeder 6-Bit-Wert (0-63) wird auf eines von 64 ASCII-Zeichen abgebildet: A-Z (Werte 0-25), a-z (26-51), 0-9 (52-61), + (62), / (63).
  • Schritt 4 - Padding: Wenn die Eingabelänge nicht durch 3 teilbar ist, werden Padding-Zeichen (=) hinzugefügt, um die Ausgabelänge zu einem Vielfachen von 4 zu machen.

Beispiel: Der String "cat" (ASCII: 99, 97, 116) kodiert zu "Y2F0". Die Bytes [99, 97, 116] werden zu binär 01100011 01100001 01110100, das in 6-Bit-Gruppen aufgeteilt wird: 011000 110110 000101 110100, die auf Y(24) 2(54) F(5) 0(52) abgebildet werden.

Geschichte und Hintergrund

Die Base64-Kodierung entstand mit RFC 2045 (MIME) im Jahr 1996 als Möglichkeit, E-Mail-Anhänge zu kodieren. Vor Base64 war das Senden von Dateien per E-Mail problematisch, da E-Mail-Protokolle für 7-Bit-ASCII-Text konzipiert waren. Base64 löste dies, indem es 8-Bit-Binärdaten in 7-Bit-sichere ASCII-Zeichen umwandelte. Heute ist Base64 durch RFC 4648 definiert und wird weit über E-Mails hinaus in der Webentwicklung, APIs, Authentifizierung, Daten-URIs und mehr verwendet.

Ist Base64-Kodierung sicher?

Base64 ist Kodierung, nicht Verschlüsselung. Es bietet keine Sicherheit und kann von jedem leicht dekodiert werden. Verwenden Sie Base64 niemals allein zum Schutz sensibler Daten. Erfahren Sie mehr über Kodierungssicherheit

Base64-Kodierung in Programmiersprachen

Die meisten Programmiersprachen verfügen über integrierte Funktionen für Base64-Kodierung. Hier sind Beispiele in gängigen Sprachen:

// Einfache Kodierung
$encoded = base64_encode($data);

// UTF-8-String kodieren
$text = "Hello, 世界!";
$encoded = base64_encode($text);

// Dateiinhalte kodieren
$fileData = file_get_contents('image.png');
$encoded = base64_encode($fileData);
// Browser (btoa nur für ASCII)
const encoded = btoa('Hello'); // Einfaches ASCII

// Browser mit UTF-8-Unterstützung
const encoded = btoa(unescape(encodeURIComponent('Hello, 世界!')));

// Moderne Browser mit TextEncoder
const encoder = new TextEncoder();
const data = encoder.encode('Hello, 世界!');
const encoded = btoa(String.fromCharCode(...data));
import base64

# String kodieren (automatisch UTF-8)
text = "Hello, 世界!"
encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')

# Bytes direkt kodieren
data = b'\x00\x01\x02\x03'
encoded = base64.b64encode(data).decode('ascii')

# Datei kodieren
with open('image.png', 'rb') as f:
    encoded = base64.b64encode(f.read()).decode('ascii')
import "encoding/base64"

// Einfache Kodierung
data := []byte("Hello, 世界!")
encoded := base64.StdEncoding.EncodeToString(data)

// URL-sichere Kodierung
encoded := base64.URLEncoding.EncodeToString(data)

// Kodierung in Writer (für große Daten)
encoder := base64.NewEncoder(base64.StdEncoding, outputWriter)
encoder.Write(data)
encoder.Close()
import java.util.Base64;
import java.nio.charset.StandardCharsets;

// Einfache Kodierung
String text = "Hello, 世界!";
String encoded = Base64.getEncoder()
    .encodeToString(text.getBytes(StandardCharsets.UTF_8));

// URL-sichere Kodierung
String encoded = Base64.getUrlEncoder()
    .encodeToString(text.getBytes(StandardCharsets.UTF_8));

// MIME-Kodierung (Zeilenumbrüche alle 76 Zeichen)
String encoded = Base64.getMimeEncoder()
    .encodeToString(text.getBytes(StandardCharsets.UTF_8));
require 'base64'

# Einfache Kodierung
text = "Hello, 世界!"
encoded = Base64.encode64(text)

# Strikte Kodierung (keine Zeilenumbrüche)
encoded = Base64.strict_encode64(text)

# URL-sichere Kodierung
encoded = Base64.urlsafe_encode64(text)
using System;
using System.Text;

// Einfache Kodierung
string text = "Hello, 世界!";
byte[] bytes = Encoding.UTF8.GetBytes(text);
string encoded = Convert.ToBase64String(bytes);

// Mit Zeilenumbrüchen (für MIME)
string encoded = Convert.ToBase64String(bytes,
    Base64FormattingOptions.InsertLineBreaks);

Verwandte Tools

Müssen Sie Base64 dekodieren? Verwenden Sie unseren Base64-Decoder, um Base64-Strings zurück in den ursprünglichen Text oder Binärdaten zu konvertieren.

Arbeiten Sie mit URLs? Probieren Sie unseren URL-Encoder aus, um Text URL-sicher zu machen.

Inhalte auf Webseiten anzeigen? Verwenden Sie unseren HTML-Entity-Encoder, um XSS-Angriffe zu verhindern.