Table of Contents
Base64 spielt eine entscheidende Rolle in modernen Computer- und Internettechnologien.
Die Base64-Kodierung wird in OpenSSL, Kubernetes-Geheimnissen, E-Mail-Anwendungen und vielen anderen Technologien verwendet.
Binärdaten können in ASCII-Zeichen wie Bilder und Dokumente umgewandelt und sicher über textbasierte Kanäle wie E-Mails und URLs übertragen werden.
SMTP leitet auf Base64 weiter, da es für den Transport von 7-Bit-ASCII-Zeichen zum Senden von E-Mails konzipiert wurde
Einführung
Bei der Base64-Kodierung handelt es sich um eine Technik, die Binärdaten in ASCII-Zeichen umwandelt.
Es wurde „Base64“ genannt, weil es 64 mögliche Werte zur Darstellung von Binärdaten verwendet.
In diesem Artikel erklären wir, wie die Base64-Kodierung funktioniert, wie Daten mit Base64 kodiert und dekodiert werden, und einige gängige Anwendungen der Base64-Kodierung.
Geschichte der Base64-Kodierung
Das Konzept der Base64-Codierung geht auf die Anfänge der Computertechnik zurück, als Binärdaten über Kanäle übertragen werden mussten, die nur Text unterstützten.
Wie funktioniert die Base64-Kodierung?
Bei der Base64-Kodierung handelt es sich um eine Methode zur Konvertierung binärer Daten in ein textbasiertes Format, wodurch sie für die sichere Übertragung in Systemen geeignet sind, die Text verarbeiten.
Warum Base64 statt ASCII?
Base64-Kodierung wird anstelle von ASCII für bestimmte Zwecke verwendet, bei denen Binärdaten in einem Textformat dargestellt werden müssen, das sowohl kompakt als auch sicher für die Übertragung über verschiedene Systeme hinweg ist.
- Binärdatendarstellung: ASCII kann nur einen begrenzten Bereich von Zeichen darstellen, hauptsächlich englische Buchstaben, Ziffern und Grundsymbole.
- Kompaktheit: Die Base64-Kodierung verwendet einen größeren Satz von Zeichen (64 im Vergleich zu 128 ASCII), um die gleiche Datenmenge darzustellen.
- Sicherheit bei der Übertragung: Einige Kanäle, insbesondere solche, die für Text konzipiert sind, können bestimmte ASCII-Steuerzeichen während der Übertragung falsch interpretieren oder ändern.
- Binär-zu-Text-Konvertierung:Base64 wurde speziell für die Konvertierung von Binärdaten in ein Textformat entwickelt.
- Standardisierung: Die Base64-Kodierung ist weitgehend standardisiert und über verschiedene Plattformen und Programmiersprachen hinweg konsistent.
Zusammenfassend lässt sich sagen, dass Base64 gegenüber ASCII bevorzugt wird, wenn Binärdaten genau, effizient und sicher in Textform dargestellt werden müssen, insbesondere in Kontexten, in denen Datenintegrität, Kompaktheit und Standardisierung von größter Bedeutung sind.
Wie führt man eine Base64-Codierung in Python durch?
In Python führen wir die Base64-Codierung mit dem Modul `base64` durch.
import base64
msg = "Hello world!"
encoded = base64.b64encode(bytes(msg, encoding='utf-8'))
print(encoded.decode('utf-8'))Importieren des base64-Moduls
import base64
Der Code beginnt mit dem Import des Base64-Moduls, das Funktionen zum Kodieren und Dekodieren von Daten im Base64-Format bereitstellt.
Definieren der Eingabezeichenfolge
msg = "Hello world!"
In dieser Abbildung ist die Eingabenachricht „Hallo Welt!“
Codierung des Strings in Base64
encoded = base64.b64encode(bytes(msg, encoding='utf-8'))
In dieser Zeile konvertiert die Funktion bytes() den Wert der msg-Variablen mithilfe der UTF-8-Kodierung in Bytes.
Dekodieren und Drucken der Base64-Daten
print(encoded.decode('utf-8'))Abschließend werden die kodierten Base64-Daten mit encoded.decode('utf-8') wieder in einen UTF-8-String dekodiert und ausgedruckt.
Wenn Sie diesen Code ausführen, wird die Base64-Darstellung der Eingabezeichenfolge „Hallo Welt!“ ausgegeben.
Wie führt man Base64-Codierung in PHP durch?
In diesem PHP-Beispiel untersuchen wir das Konzept der Base64-Codierung, eine Technik, die in der Webentwicklung und Datenverarbeitung weit verbreitet ist.
<?php $msg = "Hello world!"; $encoded = base64_encode($msg); echo $encoded; ?>
In diesem PHP-Skript enthält die Variable $msg die Eingabezeichenfolge "Hello world!", die wir kodieren möchten.
Base64-Codierung in Go (Golang)
Die Base64-Kodierung in Go (oder Golang) ist dank des integrierten `encoding/base64`-Pakets unkompliziert.
package main
import (
"encoding/base64"
"fmt"
)
func main() {
// The string to be encoded
message := "Hello, Golang Base64 Encoding!"
// Convert the string to bytes
messageBytes := []byte(message)
// Encode the bytes to Base64
encodedMessage := base64.StdEncoding.EncodeToString(messageBytes)
// Print the encoded Base64 string
fmt.Println(encodedMessage)
}Importieren des Pakets „encoding/base64“.
Importieren Sie zunächst das Paket `encoding/base64` in Ihren Go-Code.
import (
"encoding/base64"
"fmt"
)String in Bytes konvertieren
Vor der Codierung muss Ihr String in ein Byte-Slice konvertiert werden, da die Base64-Codierung für Binärdaten funktioniert.
message := "Hello, Golang Base64 Encoding!" messageBytes := []byte(message)
In diesem Schritt ist die Nachricht die Zeichenfolge, die Sie kodieren möchten.
Codierung nach Base64
Verwenden Sie die Funktion base64.StdEncoding.EncodeToString(), um das Byte-Slice in einen Base64-String zu kodieren.
encodedMessage := base64.StdEncoding.EncodeToString(messageBytes)
Hier speichert encodedMessage die resultierende Base64-codierte Zeichenfolge.
Drucken der codierten Zeichenfolge
Abschließend können Sie den codierten Base64-String ausdrucken.
fmt.Println(encodedMessage)
Kopieren Sie den obigen Code und führen Sie Ihr Go-Programm aus.
Abschluss
In diesem Artikel haben wir etwas über die Geschichte von Base64, seine Funktionsweise und die Implementierung des Base64-Encoders in Python und PHP erfahren.