mime::decoder::nbit(3)
NAME
MIME::Decoder::NBit - encode/decode a "7bit" or "8bit"
stream
SYNOPSIS
A generic decoder object; see MIME::Decoder for usage.
DESCRIPTION
- This is a MIME::Decoder subclass for the "7bit" and "8bit"
content transfer encodings. These are not "encodings" per
se: rather, they are simply assertions of the content of
the message. From RFC-2045 Section 6.2.: - Three transformations are currently defined: identity,
- the "quotedprintable" encoding, and the "base64" encoding. The
- domains are
"binary", "8bit" and "7bit". - The Content-Transfer-Encoding values "7bit", "8bit",
- and "binary" all
mean that the identity (i.e. NO) encoding transforma - tion has been
performed. As such, they serve simply as indicators of - the domain of
the body data, and provide useful information about the - sort of
encoding that might be needed for transmission in a - given transport
system. - In keeping with this: as of MIME-tools 4.x, this class
does no modification of its input when encoding; all it
does is attempt to detect violations of the 7bit/8bit
assertion, and issue a warning (one per message) if any
are found. - Legal 7bit data
- RFC-2045 Section 2.7 defines legal "7bit" data:
"7bit data" refers to data that is all represented as- relatively
short lines with 998 octets or less between CRLF line - separation
sequences [RFC-821]. No octets with decimal values - greater than 127
are allowed and neither are NULs (octets with decimal - value 0). CR
(decimal value 13) and LF (decimal value 10) octets on - ly occur as
part of CRLF line separation sequences. - Legal 8bit data
- RFC-2045 Section 2.8 defines legal "8bit" data:
"8bit data" refers to data that is all represented as- relatively
short lines with 998 octets or less between CRLF line - separation
sequences [RFC-821]), but octets with decimal values - greater than 127
may be used. As with "7bit data" CR and LF octets only - occur as part
of CRLF line separation sequences and no NULs are al - lowed.
- How decoding is done
- The decoder does a line-by-line pass-through from input to
output, leaving the data unchanged except that an end-ofline sequence of CRLF is converted to a newline "0.
Given the line-oriented nature of 7bit and 8bit, this
seems relatively sensible. - How encoding is done
- The encoder does a line-by-line pass-through from input to
output, and simply attempts to detect violations of the
"7bit"/"8bit" domain. The default action is to warn once
per encoding if violations are detected; the warnings may
be silenced with the QUIET configuration of MIME::Tools.
AUTHOR
Eryq (eryq@zeegee.com), ZeeGee Software Inc
(http://www.zeegee.com).
All rights reserved. This program is free software; you
can redistribute it and/or modify it under the same terms
as Perl itself.
VERSION
- $Revision: 5.403 $ $Date: 2000/11/04 19:54:48 $