RFC 3548 – The Base16, Base32, and Base64 Data Encodings
Überholt: ersetzt durch RFC 4648.
| Status | Informational |
|---|---|
| Veröffentlicht | Juli 2003 |
| Volltext | rfc-editor.org/rfc/rfc3548 |
RFC 3548 definiert die standardisierten Kodierungsverfahren Base16, Base32 und Base64 zur Umwandlung beliebiger Binärdaten in eine druckbare ASCII-Repräsentation. Diese Kodierungen kommen zum Einsatz, wenn Daten in Umgebungen übertragen oder gespeichert werden müssen, die auf US-ASCII beschränkt sind, beispielsweise in E-Mail-Protokollen oder Textdateien. Die Spezifikation legt die verwendeten Alphabete fest, definiert die Behandlung von Padding-Zeichen („=“) und klärt den Umgang mit Zeilenumbrüchen sowie Nicht-Alphabet-Zeichen im kodierten Datenstrom.
Der Kern der Kodierung besteht darin, binäre Eingabebytes in Gruppen fester Größe zu unterteilen und diese auf eine Zeichenmenge abzubilden. Base64 verarbeitet drei Bytes (24 Bit) und kodiert sie in vier Zeichen aus einem 64-stelligen Alphabet. Base32 gruppiert fünf Bytes (40 Bit) in acht Zeichen, während Base16, besser bekannt als Hexadezimaldarstellung, jedes Byte direkt in zwei Zeichen aus einem 16-stelligen Alphabet umsetzt. Bei unvollständigen Gruppen wird der Datenstrom mit Padding-Zeichen aufgefüllt, um eine korrekte Dekodierung zu gewährleisten.
RFC 3548 löste eine fragmentierte Landschaft verschiedener Basis-Kodierungs-Implementierungen ab, die sich etwa in der Zeilenlänge oder der Behandlung von Fehlern unterschieden. Indem es verbindliche Regeln für Padding, Alphabete und den Umgang mit Nicht-Alphabet-Zeichen vorgab, schuf es eine einheitliche Grundlage für die Interoperabilität. Obwohl die zugrundeliegenden Verfahren, insbesondere Base64, bereits aus früheren Standards wie PEM und MIME bekannt waren, fasste dieses Dokument die wichtigsten Varianten zusammen und beseitigte praktische Implementierungsunterschiede. Es diente als Referenz für unzählige spätere Protokolle und Formate, von E-Mail-Anhängen über Datenspeicherung bis hin zu URLs.