El base64 ist ein Binär-zu-Text-Kodierungsschema, das binäre Daten in einem ASCII-String-Format darstellt. base64 wurde entwickelt, um im Binärformat gespeicherte Daten über die Kanäle zu übertragen. Es nimmt jede Form von Daten und wandelt sie in eine lange Zeichenkette aus Klartext um. Früher konnten wir keine großen Datenmengen wie Dateien übertragen, weil sie aus 2-Bit-Bytes bestanden, aber unser aktuelles Netzwerk verwendet 2 Bit Bytes. An dieser Stelle kommt die base64-Kodierung ins Spiel. Aber was bedeutet base64 eigentlich?
Wir wollen die Bedeutung von base64 verstehen.
base64 = base+64
Wir können base64 als Radix-64-Darstellung bezeichnen. base64 verwendet nur 6 Bits (2 = 64 Zeichen), um sicherzustellen, dass die druckbaren Daten für Menschen lesbar sind. Aber wie? Wir können auch base65 oder base78 schreiben, aber warum nur 64? Die base64-Kodierung enthält 64 Zeichen, um eine beliebige Zeichenfolge zu kodieren. base64 enthält:
10 numerischer Wert, d. h. 0,1,2,3, ..9.
26 Großbuchstaben, d. h. A, B, C, D, .Z.
26 Kleinbuchstaben, d. h. a, b, c, d, ..z.
zwei Sonderzeichen, z.B. +,/. Dies hängt von Ihrem Betriebssystem ab.
Die Schritte, die der base64-Algorithmus sind wie folgt:
- die Anzahl der Zeichen in einer Zeichenkette zählen.
- Wenn es kein Vielfaches von 3 ist, wird es mit einem Sonderzeichen, z. B. =, aufgefüllt, um um es zu einem Vielfachen von 3 zu machen.
- Kodiert die Zeichenkette im ASCII-Format.
- Nun wird das ASCII-Format in das Binärformat mit jeweils 8 Bit umgewandelt.
- Nach der Konvertierung in das Binärformat werden die Binärdaten unterteilt in Stücke von jeweils 6 Bits.
- Die 6-Bit-Binärdaten werden nun in Dezimalwerte umgewandelt Zahlenformat umgewandelt.
- Mit Hilfe der base64-Indizierungstabelle werden die Dezimalzahlen erneut umgewandelt in eine Zeichenkette entsprechend dem Tabellenformat umgewandelt.
- Schließlich erhalten wir die kodierte Version unserer Eingabezeichenfolge.
9 Stimmen
Aus dem Handbuch für base64_encode() : "Diese Kodierung wurde entwickelt, damit binäre Daten den Transport durch Transportschichten überstehen, die nicht 8-Bit sauber sind, wie z.B. Mail-Bodies."