This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Quoted-printable" – news ·newspapers ·books ·scholar ·JSTOR(January 2021) (Learn how and when to remove this message) |
TheQuoted-Printable encoding is anescape syntax that usesprintable ASCII characters (alphanumeric and theequals sign=) to represent arbitrarybinary data to enable transmission of8-bit data over a 7-bit data path or, generally, over a medium which is not8-bit clean. Historically, because of the wide range of systems and protocols that could be used to transfer messages, e-mail was often assumed to be non-8-bit-clean – however, modernSMTP serversare in most cases 8-bit clean and support the8BITMIME extension. It can also be used with data that contains non-permittedoctets or line lengths exceeding SMTP limits. It is defined as a MIMEcontent transfer encoding for use ine-mail.
The Quoted-Printable encoding works by using the equals sign= as anescape character. It also limits line length to 76, as some software has limits on line length.
This sectiondoes notcite anysources. Please helpimprove this section byadding citations to reliable sources. Unsourced material may be challenged andremoved.(October 2025) (Learn how and when to remove this message) |
MIME defines mechanisms for sending other kinds of information in e-mail, including text in languages other thanEnglish, usingcharacter encodings other than ASCII. However, these encodings often use byte values outside the ASCII range so they need to be encoded further before they are suitable for use in a non-8-bit-clean environment. The Quoted-Printable encoding is one method used for mapping arbitrary bytes into sequences of ASCII characters. So, Quoted-Printable is not a character encoding scheme itself, but a data coding layer to be used under somebyte-oriented character encoding. The Quoted-Printable encoding is reversible, meaning the original bytes and hence the non-ASCII characters they represent can be identically recovered.
Quoted-printable and Base64 encoding are the twobinary-to-text encoding methods defined in RFC 2045, part of the MIME RFCs.[1]
Quoted-Printable andBase64 are the two MIME content transfer encodings, if the trivial "7bit" and "8bit" encoding are not counted. If the text to be encoded does not contain many non-ASCII characters, then Quoted-Printable results in a fairly readable[a] and compact encoded result. On the other hand, if the input has many 8-bit characters, then Quoted-Printable becomes both unreadable and extremely inefficient. Base64 is not human-readable, but has a uniform overhead for all data and is the more sensible choice for binary formats or text in ascript other than theLatin script.
Any 8-bit byte value may be encoded with 3 characters: an= followed by twohexadecimal digits (0–9 or A–F) representing the byte's numeric value. For example, an ASCIIform feed character (decimal value 12) can be represented by=0C, and an ASCII equal sign (decimal value 61) must be represented by=3D. All characters except printable ASCII characters orend of line characters (but also=) must be encoded in this fashion.
All printable ASCII characters (decimal values between 33 and 126) may be represented by themselves, except= (decimal 61, hexadecimal 3D, therefore=3D).
ASCIItab andspace characters, decimal values 9 and 32, may be represented by themselves, except if these characters would appear at the end of the encoded line. In that case, they would need to be escaped as=09 (tab) or=20 (space), or be followed by a= (soft line break) as the last character of the encoded line. This last solution is valid because it prevents the tab or space from being the last character of the encoded line.
If the data being encoded contains meaningful line breaks, they must be encoded as an ASCII CR LF sequence, not as their original byte values, neither directly nor via= signs. Conversely, if byte values 13 and 10 have meanings other than end of line (in media types,[2] for example), then they must be encoded as=0D and=0A respectively.
Lines of Quoted-Printable encoded data must not be longer than 76 characters. To satisfy this requirement without altering the encoded text,soft line breaks may be added as desired. A soft line break consists of an= at the end of an encoded line, and does not appear as a line break in the decoded text.[2] These soft line breaks also allow encoding text without line breaks (or containing very long lines) for an environment where line size is limited, such as the 1000 characters per line limit of someSMTP software, as allowed by RFC 821[3]and RFC 2821.[4]
A slightly modified version of Quoted-Printable is used in message headers.(See alsoMIME § Encoded-Word.)
The following example is a French text (encoded in UTF-8), with a high frequency of letters with diacritical marks (such as theé).
J'interdis aux marchands de vanter trop leurs marchandises. Car ils se font= vite p=C3=A9dagogues et t'enseignent comme but ce qui n'est par essence qu='un moyen, et te trompant ainsi sur la route =C3=A0 suivre les voil=C3=A0 b=ient=C3=B4t qui te d=C3=A9gradent, car si leur musique est vulgaire ils te =fabriquent pour te la vendre une =C3=A2me vulgaire. =E2=80=94=E2=80=8AAntoine de Saint-Exup=C3=A9ry, Citadelle (1948)
This encodes the following quotation:
J'interdis aux marchands de vanter trop leurs marchandises. Car ils se font vite pédagogues et t'enseignent comme but ce qui n'est par essence qu'un moyen, et te trompant ainsi sur la route à suivre les voilà bientôt qui te dégradent, car si leur musique est vulgaire ils te fabriquent pour te la vendre une âme vulgaire.
— Antoine de Saint-Exupéry,Citadelle (1948)