💾 Archived View for perso.pw › blog › articles › potw-qprint.gmi captured on 2023-11-04 at 11:27:33. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
You may already have encountered emails in raw text that contained weird characters sequences like `=E3` or `=09`, especially if you work with patch files embedded as text in emails.
There is nothing wrong with the text itself, or the sender email client. In fact, this shows the email client is doing the right thing by applying the RFC 1521. Non-ASCII character should be escaped in some way in emails.
This is where qprint enters in action, it can be used to encode using the quoted-printable, or decode such content. The software can be installed on OpenBSD with the package named `qprint`.
I already introduced qprint in a blog post in a guide about OpenBSD pledge.
If you search for an email from the OpenBSD mailing list, and display it in raw format, you may encounter this encoding. There isn't much you can do with the file, it's hard to read and can't be used with the program patch.
Email example featuring quoted-printable characters
A sample of the email looks like that:
From italiano-=E6=97=A5=E6=9C=AC=E8=AA=9E (=E3=81=AB=E3=81=BB=E3=82=93= =E3=81=94) FreeDict+WikDict dictionary ver. 2022.11.18 [itajpn]: =09 ciao //'=CA=A7ao// <interjection> =E3=81=93=E3=82=93=E3=81=AB=E3=81=A1=E3=81=AF =09
If you pipe this content through the command `qprint -d`, you will obtain a much more interesting text:
From italiano-日本語 (にほんご) FreeDict+WikDict dictionary ver. 2022.11.18 [itajpn]: ciao //'ʧao// <interjection> こんにちは
There is little use in encoding content with qprint, but it could do it as well.
If you ever encounter this kind of encoding, now you should be able to figure what it is, and how to read it.
Qprint may not be available on all systems, but compiling it is quite easy, as long as you have a C compiler and make installed.