Was ist Base64 Kodierung?
Base64-Kodierung ist überall in der Webentwicklung. Diese Anleitung erklärt, wie sie funktioniert und wann man sie effektiv einsetzt.
Warum Base64 existiert
Viele Systeme verarbeiten nur Text sicher. Binärdaten können Zeichen enthalten, die diese Systeme unterbrechen. Stellen Sie sich vor, Sie senden ein Bild durch ein E-Mail-System, das für Text der 1970er Jahre entwickelt wurde – bestimmte Byte-Werte würden als Steuerzeichen interpretiert, was die Übertragung beschädigt. Base64 wandelt Binärdaten in sicheren Text um, der nur 64 Zeichen verwendet, die garantiert die Übertragung überleben. Diese Zeichen wurden ausgewählt, weil sie in jedem Zeichensatz, jedem E-Mail-System, jeder URL und jeder Datenbank existieren. Die 64 Zeichen sind A-Z, a-z, 0-9, + und /. Das =-Zeichen dient zum Padding. Diese Sicherheit kostet eine 33%ige Größenzunahme. Wenn Sie eine lange Zeichenfolge aus Buchstaben und Zahlen sehen, die mit =-Zeichen endet, schauen Sie wahrscheinlich auf Base64. Das Muster ist unverwechselbar: keine Leerzeichen, keine Sonderzeichen außer möglicherweise + und /, und ein oder zwei = am Ende.
Die 64 Zeichen
Standard-Base64 verwendet: A-Z (26 Zeichen, Indizes 0-25), a-z (26 Zeichen, Indizes 26-51), 0-9 (10 Zeichen, Indizes 52-61), + (Index 62) und / (Index 63), mit = für Padding. Diese spezifische Zeichenauswahl ist nicht willkürlich. Diese 64 Zeichen erscheinen in jedem gebräuchlichen Zeichenkodierungssystem (ASCII, UTF-8, Latin-1) und verursachen keine Probleme in den meisten Transportschichten. Base64URL ersetzt + durch - und / durch _ für URL-Sicherheit. Standard-Base64's + und / haben besondere Bedeutungen in URLs (+ wird oft zu Leerzeichen, / trennt Pfadsegmente). Sie sehen Base64URL in JWTs und URL-Parametern. Das =-Padding erscheint, wenn die Eingabelänge kein Vielfaches von 3 Bytes ist. Eine Eingabe von 1 Byte ergibt 4 Zeichen mit == Padding. Eine Eingabe von 2 Bytes ergibt 4 Zeichen mit = Padding. Einige Systeme erlauben das Weglassen des Paddings.
Wie es funktioniert
Base64 teilt Binärdaten in 6-Bit-Gruppen auf, wobei jede auf eines der 64 Zeichen abgebildet wird. Drei Bytes (24 Bits) werden zu vier Zeichen (je 6 Bits). Der Prozess im Detail: Nehmen Sie die Eingabebytes und verketten Sie ihre binäre Darstellung. Teilen Sie diese Bitfolge in 6-Bit-Chunks auf. Ordnen Sie jeden 6-Bit-Wert seinem entsprechenden Base64-Zeichen zu. Fügen Sie =-Padding hinzu, wenn nötig. Beispiel: "Hi" (ASCII 72, 105) → binär 01001000 01101001 → gruppiert in 6-Bit-Stücke: 010010 000110 1001 → (Padding der letzten Gruppe mit Nullen) 010010 000110 100100 → dezimale Werte 18, 6, 36 → Zeichen "SGk" → mit einem = für Padding → "SGk=" Die Kodierung ist deterministisch und verlustfrei. Dieselbe Eingabe produziert immer dieselbe Ausgabe, und Sie können immer das Original wiederherstellen. Im Gegensatz zu Komprimierung oder Hashing gibt es keine Datenverluste – nur eine Formatumwandlung.
Tool ausprobieren
Base64 Encoder/Decoder