Zum Inhalt springen
Calcuplay
Technik

Base64 kodieren und dekodieren

Base64 schreibt beliebige Daten mit 64 sicheren Zeichen: „Man“ wird zu „TWFu“. Je 3 Bytes werden zu 4 Zeichen, das Ergebnis ist also etwa ein Drittel länger.

Ihr Text bleibt auf Ihrem Gerät: Er wird weder gesendet noch in die Adresse der Seite geschrieben.

Ergebnis

SGFsbG8genVzYW1tZW4h

15 Bytes ↔ 20 Base64-Zeichen

3 Bytes = 24 Bits = 4 Zeichen zu 6 Bits

Kleine Challenge

Serie 0Rekord 0

Testen Sie sich: Jede Antwort berechnet das Werkzeug, und die falschen Optionen sind die häufigsten Fallen.

So funktioniert es

Formel: Zeichen = 4 × ⌈Bytes ÷ 3⌉

Der Text wird zuerst mit UTF-8 in Bytes umgewandelt: ein Byte für einen einfachen lateinischen Buchstaben, zwei bis vier für Umlaute, Akzente und Emojis. Die Bytes werden zu je 3 gelesen, also 24 Bits, die in 4 Gruppen zu 6 Bits geteilt werden; jede Gruppe, von 0 bis 63, wählt ein Zeichen aus A–Z, a–z, 0–9, + und / (RFC 4648). Hat die letzte Gruppe nur 1 oder 2 Bytes, füllt „=“ das Ergebnis auf ein Vielfaches von 4 auf. Die URL-Variante nutzt - und _ statt + und /.

Rechenbeispiele

  • „Man“

    3 Bytes → 4 Zeichen: TWFu.

  • „Ma“

    2 Bytes: Ein = füllt die Gruppe auf, TWE=.

  • „é“

    2 Bytes in UTF-8: w6k=.

Häufige Fehler

  • Base64 nutzen, um ein Passwort zu schützen.

    Jeder kann es ohne Schlüssel dekodieren: Es ist keine Verschlüsselung.

  • Glauben, die Größe bleibe gleich.

    30 Bytes ergeben 40 Zeichen: ein Drittel mehr.

  • Normales Base64 in eine URL setzen: „??>“ ergibt Pz8+, und das + wird dort zum Leerzeichen.

    Nehmen Sie die URL-Variante: Pz8-.

Testvektoren aus RFC 4648

Testvektoren aus RFC 4648
TextBase64
""""
"f""Zg=="
"fo""Zm8="
"foo""Zm9v"
"foob""Zm9vYg=="
"fooba""Zm9vYmE="
"foobar""Zm9vYmFy"

Größe nach dem Kodieren

Größe nach dem Kodieren
BytesZeichen
14
24
34
1016
100136
1.0001.336
1.000.0001.333.336

Häufige Fragen

Ist Base64 eine Verschlüsselung?

Nein. Jeder kann es ohne Schlüssel dekodieren: Es sorgt nur dafür, dass Daten als Text reisen können (E-Mails, JSON, URLs). Verstecken Sie damit nie ein Passwort.

Warum endet mein Base64 mit = oder ==?

Die Länge war kein Vielfaches von 3 Bytes: Ein = heißt, die letzte Gruppe hatte 2 Bytes, == heißt, sie hatte nur 1.

Warum ist der kodierte Text länger?

Je 3 Bytes werden zu 4 Zeichen, ein Drittel mehr, plus die Füllzeichen. Umlaute und Emojis brauchen in UTF-8 2 bis 4 Bytes und wachsen daher noch stärker.

Technik-Rechner

Technik-Rechner

Weitere Rechner