Read the encoded-word wrapper
01An encoded word packages a character set, a byte encoding and text into printable ASCII. It lets a compatible mail reader display non-ASCII header text.
The chosen =?utf-8?q?caf=C3=A9?= has the same interpretation. A reader must know the declared charset; case-insensitivity does not make arbitrary charsets interchangeable.
Source for this drawing: RFC 2047 · Read RFC section 2 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Keep the character set, encoding and payload together.
- Keep the character set, encoding and payload together.
- The base form is =?charset?encoding?encoded-text?=. Charset and encoding names are case-insensitive. No unencoded white space may appear inside the word; the payload cannot contain a literal question mark.
- Q and B are the defined encodings. A conforming reader MUST accept both for every character set it supports; declaring a charset does not guarantee every reader supports it.
Chosen examples assume a reader that supports UTF-8, a Unicode byte encoding. MIME means Multipurpose Internet Mail Extensions; ASCII is the seven-bit interchange character set. This is header text, not a body Content-Transfer-Encoding or authentication mechanism. Registered charset names identify the byte-to-character interpretation; a UTF-8 byte sequence is not the same as Latin-1. The old §3 ISO-8859 preference is historical advice, not a rule to replace Unicode today. Verified erratum506 restores the backslash excluded from token names. A MIME-Version header is not required for recognizing these words (§6.1).
Read the RFC section ↗