Sigh. Why does this one little thing seem to be so hard?
I believe it is because people are confusing LOCAL representation from
NETWORK VIRTUAL representation. For example, the Internet has one and
only one, completely consistent representation for linebreak: CRLF. Any
other assignment of linebreak is a local convention and is required to
be hidden from the Internet. The process of such hiding involves mapping
whatever-your-local-system-uses to CRLF. Period. End of discussion.
People are tending to look at LOCAL implementation decisions and think
that they represent THE MODEL. They don't.
LINE BREAKS IN QUOTED-PRINTABLE TEXT. The intent of the
quoted-printable encoding is to effect NO CHANGE on
the interpretation of network virtual
line breaks.
(NVLB)
This
means that however
NVLBs
are represented in plain
text, which is
how they are represented in quoted-printable encoded data.
That is, all NVLBs are sent across the network as CRLF, rather than as
as quoted characters, in quoted-printable.
This permits
all of the mechanisms that have evolved for dealing with line breaks in
Internet mail, despite the divergence of local representations for line
breaks, to continue to work with quoted-printable data. The only thing
in the quoted-printable encoding that affects the interpretation of line
breaks is the notion of soft line breaks, which causes certain line
breaks to become non-significant in decoding quoted-printable-encoded
data. Even here, the notion of what represents a non-significant line
break, as with significant line breaks, is to be precisely the same as
the representation of a line break in textual data.
So, a true linebreak is sent as CRLF. A soft linebreak is sent as "=CRLF",
at the end of a line,
with the network mail transport system believing it is seeing a real line
break. The string "=OD=OA" is not a line break. Its interpretation is
beyond the scope of this specification.
EXPLANTORY NOTE: While RFC 821 and RFC 822 are quite clear that CRLF is
the representation for line breaks, existing practice has clearly
established large enclaves in which the representation format is
otherwise
, within local systems.
It is not the intent of the quoted-printable encoding to
require ANY special treatment for line breaks in such enclaves. For
that reason, it is specified that line breaks in quoted-printable data
be treated precisely as line breaks in plain ASCII text mail. If this
is inadequate for the transport of certain data types -- and it will be
inadequate for non-line-oriented, binary data -- the base64 encoding
should be used for such data.