💾 Archived View for perso.pw › blog › articles › potw-qprint.gmi captured on 2024-07-09 at 00:23:54. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-02-05)

-=-=-=-=-=-=-

Read quoted-printable emails with qprint

Comment on Mastodon

Introduction

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.

RFC 1521: MIME part one

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`.

qprint official website

I already introduced qprint in a blog post in a guide about OpenBSD pledge.

What does quoted-printable look like?

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.

Conclusion

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.