Zum Hauptinhalt springen

3. Implementierungsunterschiede

Unterschiede zwischen Base-Encoding-Implementierungen betreffen vor allem Zeilenumbrueche, Padding, Zeichen ausserhalb des Alphabets, die Wahl des Alphabets und kanonische Kodierung.

3.1 Zeilenumbrueche in kodierten Daten

Encoder MUST NOT Zeilenumbrueche in base-kodierte Daten einfuegen, sofern die verweisende Spezifikation dies nicht ausdruecklich verlangt. Die 76-Zeichen-Regel von MIME und die 64-Zeichen-Regel von PEM gelten nur fuer diese Formate.

3.2 Padding kodierter Daten

Encoder MUST im Regelfall passende Padding-Zeichen am Ende der kodierten Daten einfuegen, sofern die verweisende Spezifikation nicht ausdruecklich etwas anderes festlegt.

3.3 Zeichen ausserhalb des Alphabets

Decoder MUST kodierte Daten zurueckweisen, die Zeichen ausserhalb des gewaehlten Alphabets enthalten, sofern die verweisende Spezifikation solche Zeichen nicht bewusst erlaubt.

3.4 Wahl des Alphabets

Verschiedene Umgebungen benoetigen verschiedene Alphabete. + und / sind in URLs und Dateinamen unpraktisch, daher definiert RFC 4648 ein URL- und dateinamenfreundliches Base64-Alphabet.

3.5 Kanonische Kodierung

Padding-Bits MUST null sein. Andernfalls kann derselbe binaere Wert mehrere Textdarstellungen haben, was kanonische Vergleiche, Signaturen und Hashes beeintraechtigt.