18.15. "quopri" — Encode and decode MIME quoted-printable data
**************************************************************

**Source code:** Lib/quopri.py

======================================================================

This module performs quoted-printable transport encoding and decoding,
as defined in **RFC 1521**: “MIME (Multipurpose Internet Mail
Extensions) Part One: Mechanisms for Specifying and Describing the
Format of Internet Message Bodies”. The quoted-printable encoding is
designed for data where there are relatively few nonprintable
characters; the base64 encoding scheme available via the "base64"
module is more compact if there are many such characters, as when
sending a graphics file.

quopri.decode(input, output[, header])

   Decode the contents of the *input* file and write the resulting
   decoded binary data to the *output* file. *input* and *output* must
   either be file objects or objects that mimic the file object
   interface. *input* will be read until "input.readline()" returns an
   empty string. If the optional argument *header* is present and
   true, underscore will be decoded as space. This is used to decode
   “Q”-encoded headers as described in **RFC 1522**: “MIME
   (Multipurpose Internet Mail Extensions) Part Two: Message Header
   Extensions for Non-ASCII Text”.

quopri.encode(input, output, quotetabs)

   Encode the contents of the *input* file and write the resulting
   quoted-printable data to the *output* file. *input* and *output*
   must either be file objects or objects that mimic the file object
   interface. *input* will be read until "input.readline()" returns an
   empty string. *quotetabs* is a flag which controls whether to
   encode embedded spaces and tabs; when true it encodes such embedded
   whitespace, and when false it leaves them unencoded.  Note that
   spaces and tabs appearing at the end of lines are always encoded,
   as per **RFC 1521**.

quopri.decodestring(s[, header])

   Like "decode()", except that it accepts a source string and returns
   the corresponding decoded string.

quopri.encodestring(s[, quotetabs])

   Like "encode()", except that it accepts a source string and returns
   the corresponding encoded string.  *quotetabs* is optional
   (defaulting to 0), and is passed straight through to "encode()".

See also:

  Module "mimify"
     General utilities for processing of MIME messages.

  Module "base64"
     Encode and decode MIME base64 data
