Was ist Base64-Kodierung?
Base64-Kodierung ist ein Verfahren, um Daten (typischerweise Binärdaten) in den ASCII-Zeichensatz umzuwandeln. Wichtig: Base64 ist keine Verschlüsselungs- oder Kompressionsmethode, obwohl es manchmal damit verwechselt wird, da es Daten scheinbar verschleiert. Tatsächlich ist die Größe eines Base64-kodierten Datensatzes etwa das 1,3333-fache der Originalgröße.
Base64 ist die am weitesten verbreitete Basis-Kodierungstechnik, neben Base16 und Base32 als den beiden anderen gängigen Kodierungsverfahren.
Base64-Kodierung ist eine der häufigsten Methoden, um Binärdaten in reinen ASCII-Text umzuwandeln. Es ist ein sehr nützliches Format für die Kommunikation zwischen Systemen, die nicht einfach mit Binärdaten umgehen können, wie etwa Bilder in HTML-Markup oder Web-Anfragen.
Wie funktioniert Base64?
Die Umwandlung von Daten in Base64 ist ein mehrstufiger Prozess. So funktioniert es für Textzeichenfolgen:
- Berechnen Sie die 8-Bit-Binärversion des Eingabetextes
- Gruppieren Sie die 8-Bit-Daten in Blöcke zu je 6 Bits um
- Ermitteln Sie den Dezimalwert jedes 6-Bit-Binärblocks
- Suchen Sie das Base64-Symbol für jeden Dezimalwert in der Base64-Nachschlagetabelle
| Wert | Zeichen | Wert | Zeichen |
|---|---|---|---|
| 0 | A | 32 | g |
| 1 | B | 33 | h |
| 2 | C | 34 | i |
| 3 | D | 35 | j |
| 4 | E | 36 | k |
| 5 | F | 37 | l |
| 6 | G | 38 | m |
| 7 | H | 39 | n |
| 8 | I | 40 | o |
| 9 | J | 41 | p |
| 10 | K | 42 | q |
| 11 | L | 43 | r |
| 12 | M | 44 | s |
| 13 | N | 45 | t |
| 14 | O | 46 | u |
| 15 | P | 47 | v |
| 16 | Q | 48 | w |
| 17 | R | 49 | x |
| 18 | S | 50 | y |
| 19 | T | 51 | z |
| 20 | U | 52 | 0 |
| 21 | V | 53 | 1 |
| 22 | W | 54 | 2 |
| 23 | X | 55 | 3 |
| 24 | Y | 56 | 4 |
| 25 | Z | 57 | 5 |
| 26 | a | 58 | 6 |
| 27 | b | 59 | 7 |
| 28 | c | 60 | 8 |
| 29 | d | 61 | 9 |
| 30 | e | 62 | + |
| 31 | f | 63 | / |
Warum Base64-Kodierung verwenden?
Das Senden von Informationen im Binärformat kann manchmal riskant sein, da nicht alle Anwendungen oder Netzwerksysteme mit rohen Binärdaten umgehen können. Der ASCII-Zeichensatz hingegen ist weit verbreitet und für die meisten Systeme sehr einfach zu verarbeiten.
E-Mail-Server erwarten beispielsweise Textdaten, daher wird typischerweise ASCII verwendet. Wenn Sie Bilder oder andere Binärdateien an einen E-Mail-Server senden möchten, müssen Sie diese zuerst in ein textbasiertes Format, vorzugsweise ASCII, kodieren. Hier ist Base64-Kodierung extrem nützlich, um Binärdaten in die richtigen Formate umzuwandeln.
Gängige Anwendungsfälle für Base64
Sie können Base64 auch verwenden, um Binärdaten auf eine Weise darzustellen, die mit HTML, JavaScript und CSS kompatibel ist. Zum Beispiel können Sie ein Bild inline in einer CSS- oder JavaScript-Datei mit Base64 einbetten.
Es ist möglich, Base64 zu verwenden, um Eingaben wie Formulardaten oder JSON in eine Zeichenfolge mit einem reduzierten, URL-sicheren Zeichensatz umzuwandeln. Aufgrund der Art und Weise, wie bestimmte Server die Zeichen Plus (+) und Schrägstrich (/) interpretieren können, wird jedoch empfohlen, stattdessen encodeURIComponent zu verwenden.
Einschränkungen von Base64
Base64 ist keinesfalls als sichere Verschlüsselungsmethode gedacht.
Base64 ist auch keine Kompressionsmethode. Die Kodierung einer Zeichenfolge in Base64 führt typischerweise zu einer um 33% längeren Ausgabe.