### Navigation

- index
- modules |
- next |
- previous |
- Python »
- 3.3.7rc1 Documentation »
- The Python Standard Library »
- 19. Internet Data Handling »

# 19.9. `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=False)

  Decode the contents of the input file and write the resulting decoded binary data to the output file. input and output must be file objects. 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, header=False)

  Encode the contents of the input file and write the resulting quoted-printable data to the output file. input and output must be file objects. 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. header is a flag which controls if spaces are encoded as underscores as per RFC 1522.

`quopri.``decodestring`(s, header=False)

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

`quopri.``encodestring`(s, quotetabs=False, header=False)

  Like `encode()`, except that it accepts a source string and returns the corresponding encoded string. quotetabs and header are optional (defaulting to `False`), and are passed straight through to `encode()`.

See also

Module `base64`
  Encode and decode MIME base64 data

### Navigation

- index
- modules |
- next |
- previous |
- Python »
- 3.3.7rc1 Documentation »
- The Python Standard Library »
- 19. Internet Data Handling »