The Content-Transfer-Encoding Header
Each MIME part may contain a header that specifies whether the part was processed for transfer and how the body of the message part is currently represented. The field name of this header is
Content-Transfer-Encoding. In
Figure 32, the
Content-Transfer-Encoding header contains the value
7bit.
The MIME specification defines five distinct transfer encodings. Two of these encodings, base64 and quoted-printable, indicate that the part body was processed for transmission, and is currently represented as 7-bit ASCII. The remaining three encodings, 7bit, 8bit, and binary, indicate that the body has not been processed for transmission, and that the message is currently represented as either 7‑bit ASCII, 8‑bit ASCII, or as raw binary data. MIME also allows applications to define and use nonstandard values for the Content‑Transfer‑Encoding of a message.
The body of a part defined with a given transfer encoding must actually match the format declared. A MIME part that contains other MIME parts may only have an encoding of
7bit,
8bit, or
binary.
Table 1 summarizes the transfer encodings defined by the MIME specification and the body format that each encoding specifies.
Table 1 – MIME Content-Transfer-Encoding values
Field Value | Character Set | Body format |
---|
base64 | 7-bit ASCII | Encoded into 7-bit ASCII. Lines typically less than 78 characters. CRLF sequence only occurs as a line break. |
quoted‑printable | 7-bit ASCII | Encoded into 7-bit ASCII. Lines typically less than 78 characters. CRLF sequence only occurs as a line break. |
7bit | 7-bit ASCII | Unencoded 7-bit ASCII. Lines no longer than 998 characters. CRLF sequence only occurs as a line break. |
8bit | 8-bit ASCII | Unencoded 8-bit ASCII. Lines no longer than 998 characters. CRLF sequence only occurs as a line break |
binary | No restrictions | Any data acceptable. CRLF may or may not indicate a line break. |
If a MIME part is 7bit, the Content-Transfer-Encoding header is optional. MIME parts with any other transfer encoding must contain a Content-Transfer-Encoding header. If the MIME part is a multipart content type, the part should not have an encoding of base64 or quoted-printable.
For more details on base 64 encoding, see
Base 64 Encoding. For more details on quoted‑printable encoding, see
Quoted-Printable Encoding.RFC 2045 defines the Content-Transfer-Encoding header in section 6 (p. 14).