Base64 ist schlecht zu lesen
Bereits im vergangenen Juli hatte ich berichtet, dass ich die Moderation der Newsgroup de.alt.netdigest übernommen hatte, und auch ein wenig den von mir verwendeten Workflow vorgestellt.
Das Konversions-Script, das aus einer Einreichung per E-Mail ein Posting für die Newsgroup macht, konvertiert auch den Inhalt der Mail (des Postings) nach UTF-8 und entfernt eine ggf. vorhandene quoted-printable
-Kodierung. Beim Thema “Konvertierung” musste ich schon im November letzten Jahres einmal ansetzen, um im Subject:-Header UTF-8-Zeichen “oberhalb” von 0xff
korrekt zu kodieren; Anfang diesen Jahres stand ich dann aber zum ersten Mal vor einer E-Mail, deren Body - also der eigentliche Inhalt - als Base64 kodiert war. Eigentlich vorgesehen zur Kodierung binärer Inhalte ist das eine durchaus zulässige Kodierung für reinen Text - nur etwas schwer lesbar. Und da das vom Konversions-Script generierte Posting mit
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
gepostet wird, war das etwas blöd.
Glücklicherweise war die Lösung hinreichend einfach: so, wie man quoted-printable
nach 8bit
umkodiert, kann man das auch mit base64
machen. Es braucht nur MIME::Base64
zusätzlich zu MIME::QuotedPrint
, und zum bedarfsweisen Aufruf von decode_qp()
im Fall der Fälle einen Aufruf von decode_base64()
.
Das war einfach, und nunmehr bin ich auch auf solche seltsamen Formate gerichtet.
[Nachträglich veröffentlicht im April 2022.]