Was ist Base64? Ein vollstĂ€ndiger Leitfaden fĂŒr Einsteiger
Was ist Base64-Kodierung?
Base64 ist ein BinĂ€r-zu-Text-Kodierungsverfahren, das BinĂ€rdaten mithilfe eines 64-Zeichen-Alphabets in einem ASCII-String-Format darstellt. Es wurde ursprĂŒnglich fĂŒr E-Mail-AnhĂ€nge ĂŒber MIME (Multipurpose Internet Mail Extensions) entwickelt und bleibt eine der am weitesten verbreiteten Kodierungsmethoden im Web.
Wenn Sie BinĂ€rdaten â wie ein Bild, eine Datei oder komprimierte Bytes â ĂŒber einen Kanal senden mĂŒssen, der fĂŒr Text gebaut wurde, ist Base64 die Lösung der Wahl. Es nimmt beliebige Bytes und verwandelt sie in einen sicheren, portablen String aus Buchstaben, Ziffern und ein paar Sonderzeichen.
Wie funktioniert Base64?
Base64 funktioniert, indem es BinĂ€rdaten in Gruppen von drei Bytes (24 Bits) verarbeitet und jede Gruppe in vier Base64-Zeichen umwandelt. Der Name "Base64" rĂŒhrt daher, dass das Kodierungsalphabet 64 verschiedene Zeichen verwendet: A-Z, a-z, 0-9, + und /.
Der Kodierungsalgorithmus Schritt fĂŒr Schritt
- Nehmen Sie 3 Bytes (24 Bits) Eingabedaten
- Teilen Sie sie in vier 6-Bit-Gruppen
- Ordnen Sie jeden 6-Bit-Wert (0-63) der Base64-Alphabetstabelle zu
- FĂŒgen Sie Padding (
=) hinzu, wenn die EingabelÀnge nicht durch 3 teilbar ist
Hier ist ein konkretes Beispiel. Der String "Man" wird wie folgt kodiert:
M(ASCII 77) =01001101a(ASCII 97) =01100001n(ASCII 110) =01101110
Kombiniert: 01001101 01100001 01101110 â aufgeteilt in 6-Bit-Gruppen:
010011= 19 âT010110= 22 âW000101= 5 âF101110= 46 âu
Also wird "Man" zu "TWFu".
Was ist mit Padding?
Wenn die EingabelĂ€nge kein Vielfaches von 3 Bytes ist, fĂŒgt Base64 Padding-Zeichen (=) hinzu, um die Ausgabe zu einem Vielfachen von 4 Zeichen zu machen:
- 1 Byte Eingabe â 2 Base64-Zeichen + 2 Padding-Zeichen (
==) - 2 Bytes Eingabe â 3 Base64-Zeichen + 1 Padding-Zeichen (
=)
Zum Beispiel kodiert das einzelne Byte, das "M" entspricht, zu TQ==.
Die Base64-Alphabetstabelle
| Wert | Zeichen | Wert | Zeichen | Wert | Zeichen | Wert | Zeichen | |------|---------|------|---------|------|---------|------|---------| | 0 | A | 16 | Q | 32 | g | 48 | w | | 1 | B | 17 | R | 33 | h | 49 | x | | 2 | C | 18 | S | 34 | i | 50 | y | | 3 | D | 19 | T | 35 | j | 51 | z | | 4 | E | 20 | U | 36 | k | 52 | 0 | | 5 | F | 21 | V | 37 | l | 53 | 1 | | 6 | G | 22 | W | 38 | m | 54 | 2 | | 7 | H | 23 | X | 39 | n | 55 | 3 | | 8 | I | 24 | Y | 40 | o | 56 | 4 | | 9 | J | 25 | Z | 41 | p | 57 | 5 | | 10 | K | 26 | a | 42 | q | 58 | 6 | | 11 | L | 27 | b | 43 | r | 59 | 7 | | 12 | M | 28 | c | 44 | s | 60 | 8 | | 13 | N | 29 | d | 45 | t | 61 | 9 | | 14 | O | 30 | e | 46 | u | 62 | + | | 15 | P | 31 | f | 47 | v | 63 | / |
HĂ€ufige AnwendungsfĂ€lle fĂŒr Base64-Kodierung
E-Mail-AnhÀnge (MIME)
Base64 wurde fĂŒr MIME (Multipurpose Internet Mail Extensions) entwickelt. E-Mail-Protokolle wie SMTP wurden fĂŒr 7-Bit-ASCII-Text konzipiert, daher mĂŒssen binĂ€re AnhĂ€nge wie PDFs, Bilder und ZIP-Dateien vor dem Senden per E-Mail als Base64 kodiert werden.
Data-URLs in HTML und CSS
Base64 ermöglicht es Ihnen, Bilder, Schriftarten und andere Medien direkt in HTML- oder CSS-Dateien einzubetten, indem Sie Data-URLs verwenden:
<img src="data:image/png;base64,iVBORw0KGgo..." alt="Embedded Image" />
Dies eliminiert eine zusĂ€tzliche HTTP-Anfrage, was fĂŒr kleine Assets vorteilhaft sein kann.
JSON Web Tokens (JWT)
JWTs verwenden die URL-sichere Variante von Base64 (Base64url), um Header, Payload und Signatur jedes Tokens zu kodieren. Deshalb sehen Sie Strings wie eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 in Authentifizierungssystemen.
Speichern von BinÀrdaten in Datenbanken
Viele Datenbanken sind auf Textspeicherung optimiert und können mit rohen Bytes möglicherweise nicht gut umgehen. Das Kodieren von BinĂ€rdaten als Base64 ermöglicht es Ihnen, Bilder, serialisierte Objekte oder verschlĂŒsselte Daten in Textspalten zu speichern.
API-Payloads
Beim Senden von BinĂ€rdaten ĂŒber eine REST- oder GraphQL-API â insbesondere im JSON-Format â ist Base64 die Standardwahl, da JSON rohe Bytes nicht nativ darstellen kann.
Erhöht Base64 die DateigröĂe?
Ja. Base64-Kodierung vergröĂert die Datenmenge um etwa 33 %. FĂŒr jeweils 3 Bytes Eingabe erhalten Sie 4 Bytes Ausgabe. Dieser Overhead ist der Preis dafĂŒr, BinĂ€rdaten ĂŒber reine TextkanĂ€le transportierbar zu machen.
Ist Base64 eine VerschlĂŒsselung?
Nein. Dies ist ein hĂ€ufiges MissverstĂ€ndnis. Base64 ist ein Kodierungsverfahren, keine VerschlĂŒsselung. Jeder, der einen Base64-String erhĂ€lt, kann ihn ohne SchlĂŒssel zurĂŒck in die ursprĂŒnglichen Daten dekodieren. Es bietet keinerlei Sicherheit oder Vertraulichkeit. Wenn Sie Daten schĂŒtzen mĂŒssen, verwenden Sie VerschlĂŒsselung (wie AES) und kodieren Sie die verschlĂŒsselten Bytes optional anschlieĂend mit Base64 fĂŒr den Transport.
Base64 vs. andere BinÀr-zu-Text-Kodierungen
| Kodierung | AlphabetgröĂe | Overhead | Geeignet fĂŒr | |-----------|---------------|----------|--------------| | Base64 | 64 Zeichen | ~33 % | DatenĂŒbertragung und Einbettung | | Base32 | 32 Zeichen | ~60 % | FĂŒr Menschen lesbare, case-insensitive Kontexte | | Base16 (Hex) | 16 Zeichen | 100 % | Debugging, SpeicherauszĂŒge, Farbcodes | | Ascii85 | 85 Zeichen | ~25 % | Adobe PostScript, PDF-Streams |
Base64 bietet eine ausgewogene Mischung aus Platzeffizienz und breiter KompatibilitÀt und ist damit die beliebteste BinÀr-zu-Text-Kodierung im Web.
Probieren Sie Base64-Kodierung online aus
Bereit, Ihre eigenen Daten zu kodieren? Verwenden Sie unseren kostenlosen Online-Base64-Encoder und -Decoder, um Text oder Dateien sofort in Ihrem Browser zu konvertieren. Keine Installation oder Registrierung erforderlich.