Base64 ist ein Binär-zu-Text-Kodierungsschema, das Binärdaten in einem ASCII-Stringformat darstellt – wichtig für die Übertragung binär gespeicherter Daten über Kanäle.
Base64 ist ein Binär-zu-Text- Kodierungsschema , das Binärdaten im ASCII-Zeichenfolgenformat (American Standard Code for Information Interchange) darstellt. Es ist für die Übertragung von im Binärformat gespeicherten Daten über die Kanäle konzipiert und wandelt jede beliebige Datenform in eine lange Zeichenfolge mit reinem Text um.
Dies ist hilfreich, da jede Stunde jedes Tages , jede Minute jeder Stunde und jede Sekunde jeder Minute enorme Datenmengen über Netzwerkkanäle übertragen werden.
Um Base64 besser zu verstehen, müssen wir zunächst Daten und Kanäle verstehen .
Wie wir wissen, ist für die Übermittlung von Daten von einem Ort zum anderen eine Art Pfad oder Medium erforderlich. Diese Pfade oder Medien werden als Kommunikationskanäle bezeichnet.
Welche Art von Daten werden über diese Kommunikationskanäle übertragen?
Heute können wir Daten in jedem beliebigen Format rund um den Globus übertragen. Diese Daten können in den Formaten Text, Binary Large Object File (BLOB) und Character Large Object File (CLOB) vorliegen. Wenn diese Daten über ein Kommunikationsmedium übertragen werden, werden sie in Blöcke, sogenannte Pakete, aufgeteilt. Jedes Paket enthält Daten im Binärformat (0101000101001). Jedes Paket bewegt sich dann in einer Reihe von Hops durch das Netzwerk.
Bevor wir uns in den Base64-Algorithmus vertiefen, sprechen wir über BLOB und CLOB.
Eine Einführung in BLOB und CLOB
BLOB steht für Binary Large Object File. Wenn wir Bild-, Audio- oder Videodaten über das Netzwerk übertragen, werden diese Daten als BLOB-Daten klassifiziert. CLOB steht für Character Large Object File und umfasst alle Arten von Text-XML- oder Zeichendaten, die über das Netzwerk übertragen werden. Lassen Sie uns nun in die Base64-Kodierung eintauchen.
Wie bereits erwähnt, ist Base64 ein Binär-zu-Text-Kodierungsschema, das Daten im ACII-String-Format darstellt und diese Daten dann über Kanäle überträgt. Wenn Ihre Daten aus 2⁸-Bit-Bytes bestehen und Ihr Netzwerk 2⁷-Bit-Bytes verwendet, können Sie diese Datendateien nicht übertragen. Hier kommt die Base64-Kodierung ins Spiel. Aber was bedeutet Base64?
Lassen Sie uns zunächst die Bedeutung von Base64 besprechen.
base64 = base+64
Base64 gilt als eine Radix-64-Darstellung. Es werden nur 6 Bits ( 2⁶ = 64Zeichen) verwendet, um sicherzustellen, dass Menschen die druckbaren Daten lesen können . Aber die Frage ist: Warum? Da wir auch Base65- oder Base78-Kodierungen schreiben können, warum verwenden wir dann nur 64?
Die Base64-Kodierung enthält 64 Zeichen zum Kodieren beliebiger Zeichenfolgen.
Es beinhaltet:
- 10 numerische Werte, z. B. 0,1,2,3,…..9.
- 26 Großbuchstaben, z. B. A, B, C, D, … Z.
- 26 Kleinbuchstaben, z. B. a, b, c, d, ……..z.
- Zwei Sonderzeichen, d. h. +,/, abhängig von Ihrem Betriebssystem.
So funktioniert Base64
Beginnen wir mit einem Beispiel für die Kodierung einer „THS“-Zeichenfolge in ein Base64-Format.
Im obigen Beispiel kodieren wir die Zeichenfolge „THS “ in ein Base64-Format, indem wir den Base64-Operator ( <<<) auf einer Linux-Befehlszeile verwenden. Wir können sehen, dass wir eine kodierte Ausgabe erhalten: VEhTCg==. Sehen wir uns nun Schritt für Schritt an, wie Sie diese kodierte Ausgabe erhalten.
Die vom Base64-Algorithmus befolgten Schritte umfassen:
- Zählt die Anzahl der Zeichen in einer Zeichenfolge.
- Wenn es kein Vielfaches von drei ist, füllen Sie mit einem Sonderzeichen auf, z. B. „=“, um es zu einem Vielfachen von drei zu machen.
- Codieren Sie die Zeichenfolge im ASCII-Format.
- Jetzt wird ASCII in das Binärformat konvertiert, jeweils 8 Bit.
- Nach der Konvertierung in das Binärformat werden die Binärdaten in Blöcke zu je 6 Bit aufgeteilt.
- Die 6-Bit-Binärdatenblöcke werden jetzt in das Dezimalzahlenformat konvertiert.
- Mithilfe der Base64-Indextabelle werden die Dezimalzahlen entsprechend dem Tabellenformat erneut in einen String umgewandelt.
- Schließlich erhalten wir die codierte Version unserer Eingabezeichenfolge.
Zu Beginn von Base64 haben wir mit der Zeichenfolge „THS“ begonnen. Jetzt werden wir diese Zeichenfolge kodieren, indem wir die oben beschriebenen Algorithmusschritte befolgen.
Base64-Kodierungsschritte
Lass uns anfangen.
Die Anzahl der Zeichen in THS beträgt drei. Lassen Sie uns nun diese Zeichenfolge in das ASCII-Format kodieren.
Als nächstes konvertieren wir ASCII in eine 8-Bit-Binärzahl.
Dann teilen wir die obige Binärdatei in Teile des 6-Bit-Blocks auf.
Von dort müssen wir die Base64-Indextabelle verwenden , um den genauen Wert der Dezimalzahlen zu erhalten.
Schließlich erhalten wir die codierte Ausgabe von Base64 als VEhT.
Aber warten Sie. Warum haben wir im obigen Beispiel erhalten VEhTCg==?
Dies liegt daran, dass wir nach dem Schreiben des Base64-THS-Befehls in der Befehlszeilenschnittstelle (CLI) die Eingabetaste gedrückt haben. Anschließend wird einer codierten Ausgabe eine neue Zeile hinzugefügt. <<<
Wenn wir den Echo- -n THS | base64Befehl auf der CLI ausführen, sehen wir, dass wir dieselbe Ausgabe wie zuvor erhalten.
Was passiert, wenn unsere Eingabezeichenfolge kein Vielfaches von 3 ist?
Was tun wir, wenn unsere Zeichenfolge kein Vielfaches von drei ist ? Gemäß dem ersten Schritt des Algorithmus zählt base64 die Anzahl der Zeichen in einer gegebenen Eingabezeichenfolge. Wenn es kein Vielfaches von drei ist, wird es mit einem einzelnen „=“-Zeichen aufgefüllt.
Sehen wir uns zum Beweis noch ein Beispiel an.
Angenommen, wir möchten „abraAbra“ kodieren.
In dieser gegebenen Zeichenfolge ist die Anzahl der Zeichen kein Vielfaches von drei. Daher müssen wir am Ende eins (=) hinzufügen. Aber warum?
Das „=“ dient zum Auffüllen, wenn das niederwertigste Bit der Binärdaten nicht 6 Bit enthält.
Lassen Sie uns zunächst ASCII-Zahlen in 8-Bit-Binärzahlen umwandeln.
Teilen Sie nun die 8-Bit-Blöcke in 6-Bit-Blöcke auf und fügen Sie eine Polsterung hinzu.
Nachdem wir Binärzahlen in Dezimalzahlen umgewandelt haben, verwenden wir die Base64-Indextabelle, um unsere endgültige Ausgabe zu kodieren. Verwenden Sie erneut den folgenden Link, um die Indexwerte gemäß dem Base64-Format zu erfahren dji mavic pro.
Schließlich geben wir die codierte Ausgabe zurück, die wie folgt aussieht:YWjyYUFicmE=
Sie können dies auch in Ihrer CLI versuchen.
In der obigen Ausgabe geben wir K als Sonderzeichen anstelle von „=“ zurück, da dies von Ihrem System abhängt. Sie können diesen neuen Befehl zur Bestätigung auf Ihrer CLI ausprobieren, d. h. echo | base64.
Und das ist Base64-Kodierung. Ich hoffe, diese Erklärung ist für Sie verständlich.