1 - 2 - 7 - 8 - A - B - C - D - E - F - G - H - I - J - L - M - N - O - P - Q - R - S - T - U - V - W - X
encoding
Click on the red underlined text to get to the source
... User Agent, a program with which human users send
and receive mail). Examples of such encodings currently used in the
Internet include pure hexadecimal, uuencode, the 3-in-4 base 64
...
... which can be used to specify the type and subtype of data in the
body of a message and to fully specify the native representation
(encoding) of such data.
2.a. A "text" Content-Type ...
... video data format.
3. A Content-Transfer-Encoding header field, which can be used to
specify an auxiliary encoding ...
... Content-Transfer-Encoding header field, which can be used to
specify an auxiliary encoding that was applied to the data in
order to allow it to pass through mail transport mechanisms which
...
... method used with one or more tables to convert encoded text to a
series of octets. This definition is intended to allow various kinds
of text encodings, from simple single-table mappings such as ASCII to
complex table switching methods ...
... The Content-Transfer-Encoding Header Field ...
...
It is necessary, therefore, to define a standard mechanism for re-
encoding such data into a 7-bit short-line format. This document
specifies that such encodings ...
... encoding such data into a 7-bit short-line format. This document
specifies that such encodings will be indicated by a new "Content-
Transfer-Encoding" header field ...
... specifies that such encodings will be indicated by a new "Content-
Transfer-Encoding" header field. The Content-Transfer-Encoding field
...
... Transfer-Encoding" header field. The Content-Transfer-Encoding field
is used to indicate the type of transformation that has been used in
order to represent the body in an acceptable manner for transport ...
...
Unlike Content-Types, a proliferation of Content-Transfer-Encoding
values is undesirable and unnecessary. However, establishing only a
single Content-Transfer-Encoding ...
... Content-Transfer-Encoding
values is undesirable and unnecessary. However, establishing only a
single Content-Transfer-Encoding mechanism does not seem possible.
There is a tradeoff between the desire for a compact and efficient
encoding of largely-binary data ...
... single Content-Transfer-Encoding mechanism does not seem possible.
There is a tradeoff between the desire for a compact and efficient
encoding of largely-binary data and the desire for a readable
encoding of data ...
... efficient
encoding of largely-binary data and the desire for a readable
encoding of data that is mostly, but not entirely, 7-bit data. For
this reason, at least two encoding ...
... encoding of data that is mostly, but not entirely, 7-bit data. For
this reason, at least two encoding mechanisms are necessary: a
"readable" encoding and a "dense" encoding ...
... this reason, at least two encoding mechanisms are necessary: a
"readable" encoding and a "dense" encoding.
...
... encoding mechanisms are necessary: a
"readable" encoding and a "dense" encoding.
The Content-Transfer-Encoding ...
... encoding.
The Content-Transfer-Encoding field is designed to specify an
invertible mapping between the "native" representation of a type of
data and a representation that can be readily exchanged using 7 bit ...
... This field has not been defined by any previous standard. The field's
value is a single token specifying the type of encoding, as
enumerated below. Formally:
...
... enumerated below. Formally:
encoding := "Content-Transfer-Encoding" ":" mechanism
...
...
encoding := "Content-Transfer-Encoding" ":" mechanism
mechanism := "7bit" ; case-insensitive ...
... BASE64 and
bAsE64 are all equivalent. An encoding type of 7BIT requires that
the body is already in a seven-bit mail-ready representation. This
...
... bit mail-ready representation. This
is the default value -- that is, "Content-Transfer-Encoding: 7BIT" is
assumed if the Content-Transfer-Encoding header field ...
... default value -- that is, "Content-Transfer-Encoding: 7BIT" is
assumed if the Content-Transfer-Encoding header field is not present.
...
... The values "8bit", "7bit", and "binary" all mean that NO encoding has
been performed. However, they are potentially useful as indications
of the kind of data contained in the object, and therefore of the
...
... been performed. However, they are potentially useful as indications
of the kind of data contained in the object, and therefore of the
kind of encoding that might need to be performed for transmission in
a given transport system. In particular:
...
... 8 bit wide data). If the body contains binary data,
the "binary" Content-Transfer-Encoding token must be used.
...
... token must be used.
NOTE: The distinction between the Content-Transfer-Encoding values
of "binary", "8bit", etc. may seem unimportant, in that all of
...
... of "binary", "8bit", etc. may seem unimportant, in that all of
them really mean "none" -- that is, there has been no encoding of
the data for transport. However, clear labeling will be of
...
... to include unencoded binary data in mail bodies. Thus there are
no circumstances in which the "binary" Content-Transfer-Encoding
is actually legal on the Internet. However, in the event that
...
... this mechanism.
NOTE: The five values defined for the Content-Transfer-Encoding
field imply nothing about the Content-Type other than the
...
...
Implementors may, if necessary, define new Content-Transfer-Encoding
values, but must use an x-token, which is a name prefixed by "X-" to
...
... values, but must use an x-token, which is a name prefixed by "X-" to
indicate its non-standard status, e.g., "Content-Transfer-Encoding:
x-my-new-encoding". However, unlike Content-Types ...
... indicate its non-standard status, e.g., "Content-Transfer-Encoding:
x-my-new-encoding". However, unlike Content-Types and subtypes, the
creation of new Content-Transfer-Encoding ...
... encoding". However, unlike Content-Types and subtypes, the
creation of new Content-Transfer-Encoding values is explicitly and
strongly discouraged, as it seems likely to hinder interoperability
...
... user agents.
If a Content-Transfer-Encoding header field appears as part of a
message header ...
... message header, it applies to the entire body of that message. If a
Content-Transfer-Encoding header field appears as part of a body
part's headers ...
... entity is of type "multipart" or "message", the Content-Transfer-
Encoding is not permitted to have any value other than a bit width
(e.g., "7bit", "8bit ...
... It should be noted that email is character-oriented, so that the
mechanisms described here are mechanisms for encoding arbitrary octet
streams, not bit streams. If a bit stream ...
... has a "padding" parameter.
The encoding mechanisms defined here explicitly encode all data in
ASCII. Thus, for example, suppose an entity ...
... base64 ASCII
encoding of data that was originally in ISO-8859-1, and will be in
that character set ...
... character set again after decoding.
The following sections will define the two standard encoding
mechanisms. The definition of new content-transfer-encodings is
...
... The following sections will define the two standard encoding
mechanisms. The definition of new content-transfer-encodings is
explicitly discouraged and should only occur when absolutely
necessary. All content-transfer-encoding ...
... content-transfer-encodings is
explicitly discouraged and should only occur when absolutely
necessary. All content-transfer-encoding namespace except that
beginning with "X-" is explicitly reserved to the IANA ...
... IANA for future
use. Private agreements about content-transfer-encodings are also
explicitly discouraged.
...
... explicitly discouraged.
Certain Content-Transfer-Encoding values may only be used on certain
Content-Types. In particular, it is expressly forbidden to use any
...
... Content-Types. In particular, it is expressly forbidden to use any
encodings other than "7bit", "8bit", or "binary" with any Content-
Type that recursively includes other Content-Type ...
... Content-Type fields, notably the
"multipart" and "message" Content-Types. All encodings that are
desired for bodies of type multipart or message must be done at the
innermost level, by encoding ...
... encodings that are
desired for bodies of type multipart or message must be done at the
innermost level, by encoding the actual body that needs to be
encoded.
...
...
NOTE ON ENCODING RESTRICTIONS: Though the prohibition against
using content-transfer-encodings on data of type multipart or
...
... ON ENCODING RESTRICTIONS: Though the prohibition against
using content-transfer-encodings on data of type multipart or
message may seem overly restrictive, it is necessary to prevent
nested encodings ...
... content-transfer-encodings on data of type multipart or
message may seem overly restrictive, it is necessary to prevent
nested encodings, in which data are passed through an encoding
algorithm ...
... message may seem overly restrictive, it is necessary to prevent
nested encodings, in which data are passed through an encoding
algorithm multiple times, and must be decoded multiple times in
...
... algorithm multiple times, and must be decoded multiple times in
order to be properly viewed. Nested encodings add considerable
complexity to user agents: aside from the obvious efficiency
...
... complexity to user agents: aside from the obvious efficiency
problems with such multiple encodings, they can obscure the basic
structure of a message. In particular, they can imply that
several decoding operations are necessary simply to find out what
...
... structure of a message. In particular, they can imply that
several decoding operations are necessary simply to find out what
types of objects a message contains. Banning nested encodings may
complicate the job of certain mail gateways, but this seems less
...
... complicate the job of certain mail gateways, but this seems less
of a problem than the effect of nested encodings on user agents.
...
... ON THE RELATIONSHIP BETWEEN CONTENT-TYPE AND CONTENT-
TRANSFER-ENCODING: It may seem that the Content-Transfer-Encoding
could be inferred from the characteristics of the Content-Type ...
... CONTENT-TYPE AND CONTENT-
TRANSFER-ENCODING: It may seem that the Content-Transfer-Encoding
could be inferred from the characteristics of the Content-Type
...
... Content-Type
that is to be encoded, or, at the very least, that certain
Content-Transfer-Encodings could be mandated for use with specific
Content-Types. There are several reasons why this is not the case.
...
... First, given the varying types of transports used for mail, some
encodings may be appropriate for some Content-Type/transport
...
... 8-bit
transport, no encoding would be required for text in certain
character sets, while such encodings ...
... encoding would be required for text in certain
character sets, while such encodings are clearly required for 7-
bit SMTP ...
... SMTP.) Second, certain Content-Types may require different
types of transfer encoding under different circumstances. For
example, many PostScript bodies might consist entirely of short
...
... PostScript bodies might consist entirely of short
lines of 7-bit data and hence require little or no encoding.
Other PostScript bodies (especially those using Level 2
...
... PostScript bodies (especially those using Level 2
PostScript's binary encoding mechanism) may only be reasonably
represented using a binary transport encoding. Finally, since
...
... PostScript's binary encoding mechanism) may only be reasonably
represented using a binary transport encoding. Finally, since
Content-Type is intended to be an open-ended ...
... association between
Content-Types and encodings effectively couples the specification
of an application protocol with a specific lower-level transport ...
... quoted-printable and base64
encodings are designed so that conversion between them is
possible. The only issue that arises in such a conversion is the
handling of line breaks ...
... NOTE ON CANONICAL ENCODING MODEL: There was some confusion, in
earlier drafts of this memo, regarding the model for when email
...
... given that the representation of newlines varies greatly from
system to system, and the relationship between content-transfer-
encodings and character sets. For this reason, a canonical model
...
...
The Quoted-Printable encoding is intended to represent data that
largely consists of octets that correspond to printable characters in
the ASCII character ...
... gateway.
In this encoding, octets are to be represented as determined by the
following rules:
...
... ASCII EQUAL
SIGN) can be represented by "=3D". Except when the following
rules allow an alternative encoding, this rule is mandatory.
Rule #2: (Literal ...
... line
break, which is a CRLF sequence, in the Quoted-Printable encoding.
Since the canonical representation of types other than text do not
...
... to be displayed to the user) should occur in the quoted-printable
encoding of such types. Of course, occurrences of "=0D", "=0A",
"0A=0D" and "=0D=0A" will eventually be encountered. In general,
however, base64 ...
... Rule #5 (Soft Line Breaks): The Quoted-Printable encoding REQUIRES
that encoded lines be no more than 76 characters long. If longer
lines are to be encoded with the Quoted-Printable ...
... that encoded lines be no more than 76 characters long. If longer
lines are to be encoded with the Quoted-Printable encoding, 'soft'
line breaks must be used. An equal sign as the last character on a
...
...
This can be represented, in the Quoted-Printable encoding, as
Now's the time =
...
... Since the hyphen character ("-") is represented as itself in the
Quoted-Printable encoding, care must be taken, when encapsulating a
quoted-printable encoded body in a multipart entity ...
...
NOTE: The quoted-printable encoding represents something of a
compromise between readability and reliability in transport ...
... transport.
Bodies encoded with the quoted-printable encoding will work
reliably over most mail gateways, but may not work perfectly over
...
... exist.) A higher level of confidence is offered by the base64
Content-Transfer-Encoding. A way to get reasonably reliable
transport through EBCDIC ...
... newline conventions. If such alterations are likely to constitute a
corruption of the data, it is probably more sensible to use the
base64 encoding rather than the quoted-printable encoding.
...
... Base64 Content-Transfer-Encoding ...
...
The Base64 Content-Transfer-Encoding is designed to represent
arbitrary sequences of octets in a form that need not be humanly
readable. The encoding ...
... Content-Transfer-Encoding is designed to represent
arbitrary sequences of octets in a form that need not be humanly
readable. The encoding and decoding algorithms are simple, but the
encoded data are consistently only about 33 percent larger than the
...
... algorithms are simple, but the
encoded data are consistently only about 33 percent larger than the
unencoded data. This encoding is virtually identical to the one used
in Privacy Enhanced Mail (PEM ...
... PEM) applications, as defined in RFC 1421hist.
The base64 encoding is adapted from RFC 1421hist, with one change: base64
...
... identically in all versions of EBCDIC. Other popular encodings,
such as the encoding used by the uuencode utility and the base85
...
... EBCDIC. Other popular encodings,
such as the encoding used by the uuencode utility and the base85
encoding specified as part of Level 2 PostScript ...
... such as the encoding used by the uuencode utility and the base85
encoding specified as part of Level 2 PostScript, do not share
these properties, and thus do not fulfill the portability
...
... these properties, and thus do not fulfill the portability
requirements a binary transport encoding for mail must meet.
The encoding ...
... transport encoding for mail must meet.
The encoding process represents 24-bit groups of input bits ...
... of which is translated into a single digit in the base64 alphabet.
When encoding a bit stream via the base64 encoding, the bit stream ...
... When encoding a bit stream via the base64 encoding, the bit stream
must be presumed to be ordered with the most-significant-bit ...
... Special processing is performed if fewer than 24 bits are available
at the end of the data being encoded. A full encoding quantum is
always completed at the end of a body. When fewer than 24 input bits
...
... input is an integral number of octets, only the following cases can
arise: (1) the final quantum of encoding input is an integral
multiple of 24 bits; here, the final unit of encoded output will be
...
... 24 bits; here, the final unit of encoded output will be
an integral multiple of 4 characters with no "=" padding, (2) the
final quantum of encoding input is exactly 8 bits; here, the final
unit of encoded output will be two characters followed by two "="
...
... 8 bits; here, the final
unit of encoded output will be two characters followed by two "="
padding characters, or (3) the final quantum of encoding input is
exactly 16 bits; here, the final unit of encoded output will be three
...
... base64-encoded data. The same applies to any illegal sequence of
characters in the base64 encoding, such as "====="
Care must be taken to use the proper octets for line breaks ...
...
Care must be taken to use the proper octets for line breaks if base64
encoding is applied directly to text material that has not been
converted to canonical form. In particular, text line breaks ...
... line breaks must be
converted into CRLF sequences prior to base64 encoding. The important
thing to note is that this may be done directly by the encoder rather
...
... encapsulation boundaries within base64-encoded parts of multipart
entities because no hyphen characters are used in the base64
encoding.
...
... character set includes 8-bit data, a Content-Transfer-
Encoding header field and a corresponding encoding on the data are
required in order to transmit the body via some mail transfer
...
... 8-bit data, a Content-Transfer-
Encoding header field and a corresponding encoding on the data are
required in order to transmit the body via some mail transfer
protocols, such as SMTP ...
... ISO 2022), as well
as 8-bit or multiple octet character encodings MUST use an
appropriate character set specification to be consistent with this
...
... unrecognized subtype.
As stated in the definition of the Content-Transfer-Encoding field,
no encoding other than "7bit", "8bit ...
... As stated in the definition of the Content-Transfer-Encoding field,
no encoding other than "7bit", "8bit", or "binary" is permitted for
entities of type "multipart". The multipart delimiters and header
fields ...
... RFC-1522]),
and data within the body parts can be encoded on a part-by-part
basis, with Content-Transfer-Encoding fields for each appropriate
body part.
...
... transport and adequately documented in the
Content-Transfer-Encoding header field. However, in no event are
headers ...
... recipient, and hence is strongly encouraged.
As stated in the definition of the Content-Transfer-Encoding field,
no encoding other than "7bit", "8bit ...
... As stated in the definition of the Content-Transfer-Encoding field,
no encoding other than "7bit", "8bit", or "binary" is permitted for
messages or parts of type "message". Even stronger restrictions
...
... US-ASCII in
any case, and data within the body can still be encoded, in which
case the Content-Transfer-Encoding header field in the encapsulated
...
... audio data goes here...
Note on encoding of MIME entities encapsulated inside message/partial
...
... them for the 7-bit world, aside from waiting for all of the parts,
reassembling the message, and then encoding the reassembled data in
base64 or quoted-printable ...
... MIME
entities of type message/partial must always have a content-
transfer-encoding of 7-bit (the default). In particular, even in
environments that support binary or 8-bit ...
... 8-bit transport, the use of a
content-transfer-encoding of "8bit" or "binary" is explicitly
prohibited for entities of type message/partial.
...
... Content-ID: <id42@guppylake.bellcore.com>
Content-Transfer-Encoding: binary
THIS IS NOT REALLY THE BODY!
...
... this describes the size of the data in its canonical form, that
is, before any Content- Transfer-Encoding has been applied or
after the data have been decoded.
...
... MIME entities of type
message/external-body must always have a content-transfer-encoding of
7-bit (the default). In particular, even in environments that
...
... 8-bit transport, the use of a content-transfer-
encoding of "8bit" or "binary" is explicitly prohibited for entities
of type message/external-body ...
... since the external body does not have a header section to declare its
type. Similarly, any Content-transfer-encoding other than "7bit"
must also be declared here. Thus a complete message/external-body
...
...
Note that in the above examples, the default Content-transfer-
encoding of "7bit" is assumed for the external postscript data.
...
... 7-bit and line length requirements, but might
in fact be binary files. Thus a Content-Transfer-Encoding is not
generally necessary, though it is permitted.
...
... application/octet-stream mail is to simply offer to put the data in a
file, with any Content-Transfer-Encoding undone, or perhaps to use it
as input to a user-specified process.
...
... insensitive. Two initial subtypes are "jpeg" for the JPEG format,
JFIF encoding, and "gif" for GIF format [GIF].
...
... Using the MIME-Version, Content-Type, and Content-Transfer-Encoding
header fields, it is possible to include, in a standardized way,
...
... header field.
2. Recognize the Content-Transfer-Encoding header field, and
decode all received data encoded with either the quoted-printable ...
... bit mail-ready representation using one of these
transformations and include the appropriate Content-Transfer-
Encoding header field, unless the underlying transport mechanism
supports non-seven-bit ...
... remove either of
the two types of Content-Transfer-
Encoding defined in this document
and put the resulting information
in a user file.
...
... networking technologies and known broken MTAs unscathed. Note that
anything encoded in the base64 encoding will satisfy these rules, but
that some well-known mechanisms, notably the UNIX ...
... will not. Note also that anything encoded in the Quoted-Printable
encoding will survive most gateways intact, but possibly not some
gateways ...
... character set.
(1) Under some circumstances the encoding used for data may change
as part of normal gateway or user agent ...
... hard line breaks. (A simple way to do this is to use the quoted-
printable encoding.)
(5) Trailing "white space" characters (SPACE, TAB (HT)) on a line
...
... ASCII code 63)
A maximally portable mail representation, such as the base64
encoding, will confine itself to relatively short lines of text in
which the only meaningful characters are taken from this set of 73
characters.
...
... well. A careful composition agent can prevent these corruptions
by encoding the data (e.g., in the quoted-printable encoding,
...
... by encoding the data (e.g., in the quoted-printable encoding,
"=46rom " in place of "From " at the start of a line, and "=2E" in
...
... supported by the transport and adequately documented in the
Content-Transfer-Encoding header field. However, in no event are
headers ...
...
encoding := "Content-Transfer-Encoding" ":" mechanism
epilogue := discard-text ; to be ignored upon receipt.
...
... parameters for the message/external-body type, and possibly even
Content-Transfer-Encoding values, are likely to have new values
defined over time. In order to ensure that the set of such values is
developed in an orderly, well-specified, and public manner, MIME ...
... Encoding notes: quoted-printable generally preferred if an encoding
is needed and the character set is mostly an ASCII ...
... Important Parameters: boundary
Encoding notes: No content-transfer-encoding is permitted.
...
...
Encoding notes: No content-transfer-encoding is permitted.
________________________________________________________
...
... subject
Encoding notes: No content-transfer-encoding is permitted.
Specifically, only "7bit" is permitted for "message/partial" or
...
...
Encoding notes: No content-transfer-encoding is permitted.
Specifically, only "7bit" is permitted for "message/partial" or
"message/external-body ...
... 1341(-> 1521(-> 2049draft | 2048(-> 4289 | 4288) | 2047draft | 2046draft | 2045draft)).
Encoding notes: base64 preferred for unreadable subtypes.
...
... Important Parameters: none
Encoding notes: base64 generally preferred
________________________________________________________________
...
... Important Parameters: none
Encoding notes: base64 generally preferred
________________________________________________________________
...
... greatly from system to system. For this reason, a canonical model
for encoding is presented below.
The process of composing a MIME ...
... 822std11(-> 2822prop) is eliminated if the
next step employs either quoted-printable or base64 encoding.
Step 3. Apply transfer encoding ...
... transfer encoding.
A Content-Transfer-Encoding appropriate for this body is applied.
Note that there is no fixed relationship between the content type and
...
... Note that there is no fixed relationship between the content type and
the transfer encoding. In particular, it may be appropriate to base
the choice of base64 or quoted-printable ...
... 1. In many cases the conversion to a canonical form prior to
encoding will be subsumed into the encoder itself, which
understands local formats directly. For example, the local
...
... 10. MIME entities of type "message/partial" and "message/external-
body" are now required to use only the "7bit" transfer-encoding.
(Specifically, "binary" and "8bit" are not permitted.)
...
... Robinson, D. and R. Ullmann, "Encoding Header Field for Internet Messages", RFC 1154(-> 1505exp), Prime Computer, Inc., April 1990. ...
