Hallo,
das == am Ende eines base64-codierten Strings ist ein Füllzeichen, kein Erkennungsmarker. Das = ist kein gültiges base64-Codierzeichen. Wenn die Länge des Input-Datenstroms durch 3 teilbar ist, gibt es kein Füllzeichen am Ende. Ist die Länge 3n+1, endet der base64-String auf ==. Ist die Länge 3n+2, endet er auf =.
guter Punkt, das ist mir beim Lesen auch schon aufgefallen. War mir aber nicht wichtig genug, um einen Folgebeitrag zu schreiben.
Umbruch ist bei base64 - soweit ich weiß - nicht vorgegeben. Nur wenn man base64-codierte Binärströme in andere Kontexte einfügt, z.B. in eine Mail, gibt der Kontext vor, wie umzubrechen ist (spätestens nach 76 Zeichen).
Dann müssen aber natürlich die Umbrüche vor dem Decodieren entfernt werden - oder ignoriert ein der Spezifikation entsprechender Decoder von sich aus Whitespace und Umbrüche?
Live long and pros healthy,
Martin
Hunde, die bellen, beißen nicht.
Jedenfalls nicht gleichzeitig.