| \section{\module{quopri} --- | 
 |          Encode and decode MIME quoted-printable data} | 
 |  | 
 | \declaremodule{standard}{quopri} | 
 | \modulesynopsis{Encode and decode files using the MIME | 
 |                 quoted-printable encoding.} | 
 |  | 
 |  | 
 | 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 | 
 | \refmodule{base64} module is more compact if there are many such | 
 | characters, as when sending a graphics file. | 
 | \indexii{quoted-printable}{encoding} | 
 | \index{MIME!quoted-printable encoding} | 
 |  | 
 |  | 
 | \begin{funcdesc}{decode}{input, output\optional{,header}} | 
 | Decode the contents of the \var{input} file and write the resulting | 
 | decoded binary data to the \var{output} file. | 
 | \var{input} and \var{output} must either be file objects or objects that | 
 | mimic the file object interface. \var{input} will be read until | 
 | \code{\var{input}.readline()} returns an empty string. | 
 | If the optional argument \var{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''. | 
 | \end{funcdesc} | 
 |  | 
 | \begin{funcdesc}{encode}{input, output, quotetabs} | 
 | Encode the contents of the \var{input} file and write the resulting | 
 | quoted-printable data to the \var{output} file. | 
 | \var{input} and \var{output} must either be file objects or objects that | 
 | mimic the file object interface. \var{input} will be read until | 
 | \code{\var{input}.readline()} returns an empty string. | 
 | \var{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}. | 
 | \end{funcdesc} | 
 |  | 
 | \begin{funcdesc}{decodestring}{s\optional{,header}} | 
 | Like \function{decode()}, except that it accepts a source string and | 
 | returns the corresponding decoded string. | 
 | \end{funcdesc} | 
 |  | 
 | \begin{funcdesc}{encodestring}{s\optional{, quotetabs}} | 
 | Like \function{encode()}, except that it accepts a source string and | 
 | returns the corresponding encoded string.  \var{quotetabs} is optional | 
 | (defaulting to 0), and is passed straight through to | 
 | \function{encode()}. | 
 | \end{funcdesc} | 
 |  | 
 |  | 
 | \begin{seealso} | 
 |   \seemodule{mimify}{General utilities for processing of MIME messages.} | 
 |   \seemodule{base64}{Encode and decode MIME base64 data} | 
 | \end{seealso} |