Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

Base 64

Mitglied: Bigwilli

Was ist Sinn und Aufgabe von Base 64??

Hallo Admins!

Da ich mich gerade mit Base 64 beschäftige, möchte ich gerne wissen, was Sinn und Aufgabe von Base 64 ist.
Kann mir jemand in groben Zügen in ein paar Sätzen eine Definition dieser Codierung geben?

Content-Key: 442

Url: https://administrator.de/contentid/442

Ausgedruckt am: 23.09.2021 um 04:09 Uhr

Mitglied: Frank
Frank 19.11.2002 um 17:13:24 Uhr
Goto Top
base64 ist ein textbasiertes Format, welches der Übertragung von Binärdaten dient. Es ist in der RFC 2045 beschrieben und gehört zu den MIME-Richtlinien. Deshalb wird es manchmal auch als MIME-Codierung bezeichnet. Die Übertragung von binären Dateien mittels E-Mail zum Beispiel macht eine solche Konvertierung notwendig, da E-Mail ein textbasiertes Übertragungsformat ist. Durch die Verwendung verschiedener Zeichensätze auf den verschiedenen Servern, über welche diese Mail geleitet wird, könnten die angehängten Daten zerstört werden. Um das zu verhindern, gibt es base64. base64 benutzt einen sehr eingeschränkten Zeichensatz von 64 Zeichen, wie der Name schon vermuten lässt. Dieser Zeichensatz besteht aus folgenden Zeichen:

"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

Dazu kommt ein "=" für das sogenannte Padding. Diese Auswahl ist so getroffen, weil diese Zeichen in nahezu jedem Zeichensatz der Computerwelt vorkommen. Die Auswahl der Zeichen macht base64 robuster als beispielsweise "uuencode"(welches einen anderen Zeichensatz verwendet).

Sehen wir uns den Zeichensatz näher an. Er enthält keine Steuerzeichen und beginnt mit "A". Das bedeutet der Charcode dieses Zeichens ist also 0. Die Anzahl von 64 Zeichen ermöglicht es dem Zeichensatz, 6 Bit pro Zeichen zu repräsentieren (der Logarithmus aus 64 zur Basis 2). Das bedeutet andersherum betrachtet, dass ein Zeichen eines base64-codierten Datensroms nur 6 Bit repräsentiert und nicht 8. Somit ist eine base64-codierte Datei immer rund 1/3 größer als das Original, denn der Speicherbedarf eines Zeichens ist nach wie vor 8 Bit, auch wenn es nur 6 Bit repräsentiert. Dafür hat man jedoch die Sicherheit, dass kein Bit verlorengeht. Und Sicherheit hat immer ihren Preis.

Kommen wir zur Umrechnung. base64 bearbeitet die Daten immer auf binärer Ebene. Ebenso ist es dem Verfahren egal, ob die Original-Datei mit 8, 10 oder 16 Bit großen Stücken arbeitet. Bei der Codierung wird der Bitstrom der Datei analysiert, immer nach 6 Bit abgeschnitten und in ein Zeichen des base64-Zeichensatzes umgewandelt.

Nun könnte man denken, der base64 Strom liest sich wie ein einziges langes Wort ohne Punkt und Komma. Dem ist auch (fast) so. Die RFC 2045: MIME (Multipurpose Internet Mail Extensions) Teil 1 (http://rfc.fh-koeln.de/rfc/html/rfc2045.html#23) schreibt vor, dass der Strom in maximal 76 Zeichen lange Einheiten (Zeilen) unterteilt werden muss. Da base64 ein auf binärer Ebene arbeitendes Format ist, müssen die im Originaltext enthaltenen Zeilentrenner in eine Form gebracht werden. Das Problem ist, dass die Zeilenumbruchformate von Windows, Unix und Macintosh basierten Systemen unterschiedlich sind. Es besteht sogar ein Unterschied auf gleichen Systemen. Der Internet Explorer zum Beispiel erzeugt in Textareas den windows-typischen "rn"-Umbruch. Browser basierend auf der Gecko-Engine (Netscape 6, Mozilla) erzeugen dagegen nur ein Unix-typisches "n". Schon alleine deshalb sollten alle Zeilenumbrüche auf ein einheitliches Maß gebracht werden.
Mitglied: Bigwilli
Bigwilli 20.11.2002 um 07:48:31 Uhr
Goto Top
Vielen Dank für diese perfekte, fachkundige Antwort! Es hat mir sehr geholfen und hat mich meinem Ziel bedeutend weitergebracht!

mfG

Martin Strecker
Heiß diskutierte Beiträge
tip
Outlook 2019 Konto hinzufügen - Kein Benutzername mehr bei IMAP Einstellungen - LösungFrankVor 1 TagTippOutlook & Mail32 Kommentare

Eine weitere Kuriosität unter Office 2019 ist bei mir gerade hart aufgeschlagen. Ich wollte ein normales IMAP/SMTP Konto zu Outlook 2019 hinzufügen. Das war aber ...

question
Dienst-PCs per Image sichern?Yan2021Vor 1 TagFrageBackup17 Kommentare

Hallo Ihr Lieben ;-) So, Urlaub vorbei und schon kommt mal wieder eine Frage von mir. Wir haben hier so rund gerechnet 10 PCs. Da ...

general
VPN-Einwahl für UnternehmensnetzwerkjoergVor 1 TagAllgemeinLAN, WAN, Wireless12 Kommentare

Hallo zusammen, aktuell beschäftige ich mich mit der Frage, ob unsere aktuelle User-VPN-Lösung noch die Richtige ist oder ob es bessere Alternativen gibt. Wir setzen ...

question
Webseite signierenUserUWVor 1 TagFrageInternet9 Kommentare

Gelegentlich möchte man auf einer Webseite kritische Daten veröffentlichen, zum Beispiel Checksummen von Dateien/Programmen oder den Fingerprint eines Schlüssels. Frage: Wie kann man diese Information ...

question
"Aktualisieren und Herunterfahren" nach Windows Update erzwingenFrM222Vor 1 TagFrageWindows Update7 Kommentare

Hallo Zusammen, wir verteilen unsere Windows Updates über WSUS (2016) und haben hier inzwischen eigentlich einen ganz guten Stand. Die Updates werden sehr zügig auf ...

question
Hyper-V VHDX Festplatte verkleinern ratsam gelöst nixwissenderVor 1 TagFrageWindows Server9 Kommentare

Moin! Ich beabsichtige, eine VHDX-Festplatte um ca. 100GB zu verkleinern. Das Vorgehen ist klar, ist es aber ratsam? Dazu habe ich unterschiedliche Meinungen und wollte ...

question
Überspringen ErsteinrichtungHendrik2586Vor 1 TagFrageWindows 106 Kommentare

Moin, moin meine Lieben. Heute mal ein Problem mit dem sich bestimmt schon etliche von euch rumgeschlagen haben. Kurz zur Umgebund des Kunden. DC: Windows ...

question
Unternehmensnetzwerk aufbauenbluelightVor 12 StundenFrageNetzwerke9 Kommentare

Moin zusammen, erstmal vielen Dank an der Stelle, dass mir beim letzten mal so super geholfen wurde! Aktuelle Situation: -> 5 VMs bei Netcup -> ...