UTF-8/Base64-Konverter

Was ist UTF-8?

Allgemein bekannt sein dürfte, dass ein im Rechner gespeicherter Text nicht für Menschen mit der Lupe lesbar in Stein gemeißelt wird. Hinterlegt und übertragen werden Texte, Bilder, Musik, Videos und Weiteres in binärer Form: Sie werden in kleinste Informationseinheiten namens Bits zerlegt, deren zwei mögliche Zustände man mit 0 und 1 beschreiben kann. Technisch können diese unterschiedlichen Zustände zum Beispiel durch zwei unterschiedliche Schalterstellungen oder im Fall der Festplatte im Computer durch in unterschiedlicher Richtung magnetisierte Materie realisiert werden.

Unser deutsches Alphabet kennt allerdings nicht nur zwei, sondern 30 Buchstaben: Die „lateinischen“ von A bis Z sowie Umlaute und das Eszett. Und das alles doppelt: klein und groß. Dazu kommen unsere Ziffern, Satzzeichen, mathematische und mehr Symbole wie das Währungszeichen € für den Euro. Damit ist das Ende aber noch lange nicht erreicht, denn wir Deutschsprachigen sind nicht die einzigen Menschen auf der Welt. Andere Menschen benutzen zum Schreiben ganz andere Alphabete. Da kommt einiges zusammen.

Mit einem Bit allein kann man den Köcher an Zeichen nicht annähernd abdecken, doch eine Reihe von aneinander gehängten Bits ermöglicht es, ganz verschiedene Symbole zu unterscheiden. So kann man zum Beispiel festlegen, dass 01000001 für den Buchstaben A und 00111111 für ein Fragezeichen steht. UTF-8 ist der Name eines Standards, der eben dies tut. Für eine riesige Menge an Zeichen sagt er, wie diese mit Bitfolgen zu kodieren sind. UTF-8 ist bei weitem nicht die einzige Möglichkeit – es gibt eine große Vielzahl verschiedener Zeichenkodierungen. Unter diesen gilt UTF-8 heute im Internet allerdings als wichtigste.

Wenn Sie Genaueres wissen möchten, sind die Stichworte Zeichensatz, Zeichenkodierung, Unicode und freilich UTF-8 gute Ausgangspunkte für eine Recherche.

Was ist Base64?

Im Internet finden sich viele Standards, die Inhalte auf einen beschränkten Zeichensatz druckbarer Textzeichen und entsprechender Bitfolgen beschränken. Als Beispiel sei die klassische E-Mail genannt. Zum Teil entsteht allerdings irgendwann der Wunsch, auch andere Daten mit jener Technik zu verarbeiten – Daten, die in ihrer typischen Kodierung Bitfolgen enthalten, die ursprünglich nicht vorgesehen waren. So möchten wir heute mit der E-Mail außer Texten auch Fotos als Anhang versenden. Wie lassen sich diese neuen Ansprüche mit den alten Beschränkungen vereinbaren?

In anderen Fällen liegt die Herausforderung nicht darin, dass bestimmte Bitfolgen nicht auftauchen dürfen, sondern darin, dass sie bereits mit einer besonderen Bedeutung „überladen“ sind, also zum Beispiel das Ende einer Nachricht markieren. Möchte man nun Daten anderer Art integrieren, in denen jene Bitfolge ohne Sonderbedeutung vorkommt, im Beispiel also die Nachricht nicht beendet, stellt sich wieder die Frage: Wie macht man das?

Eine Lösung bietet die Base64-Kodierung. Sie übersetzt eine beliebige Bitfolge in eine solche, die sich nur der Buchstaben A bis Z, a bis z, der Ziffern 0 bis 9, des Pluszeichens, des Schrägstrichs und gegebenenfalls ein bis zwei Gleichheitszeichen der einfachen US-ASCII-Zeichenkodierung bedient. So wird „Bär ♡ Katze“ beispielsweise in „QsOkciDimaEgS2F0emU=“ verwandelt. Das ist zwar schlecht lesbar, aber zum einen sind wie bei Fotos die Rohdaten oft sowieso nicht lesbar, zum anderen nehmen die meisten Anwendungen wie E-Mail-Programme das Kodieren und Dekodieren automatisch vor, sodass Otto Normalnutzer davon nichts zu Gesicht bekommt. Base64-kodiert lassen sich beliebige Daten nahezu überall dort übertragen und speichern, wo dies für einfachen Text möglich ist. Base64-kodiert könnte man also auch eine MP3-Datei einer von Lotte Lehmann gesungenen Arie in Stein meißeln.