17db96d56Sopenharmony_ci:mod:`quopri` --- Encode and decode MIME quoted-printable data 27db96d56Sopenharmony_ci============================================================== 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci.. module:: quopri 57db96d56Sopenharmony_ci :synopsis: Encode and decode files using the MIME quoted-printable encoding. 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ci**Source code:** :source:`Lib/quopri.py` 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci.. index:: 107db96d56Sopenharmony_ci pair: quoted-printable; encoding 117db96d56Sopenharmony_ci single: MIME; quoted-printable encoding 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ci-------------- 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ciThis module performs quoted-printable transport encoding and decoding, as 167db96d56Sopenharmony_cidefined in :rfc:`1521`: "MIME (Multipurpose Internet Mail Extensions) Part One: 177db96d56Sopenharmony_ciMechanisms for Specifying and Describing the Format of Internet Message Bodies". 187db96d56Sopenharmony_ciThe quoted-printable encoding is designed for data where there are relatively 197db96d56Sopenharmony_cifew nonprintable characters; the base64 encoding scheme available via the 207db96d56Sopenharmony_ci:mod:`base64` module is more compact if there are many such characters, as when 217db96d56Sopenharmony_cisending a graphics file. 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ci.. function:: decode(input, output, header=False) 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci Decode the contents of the *input* file and write the resulting decoded binary 267db96d56Sopenharmony_ci data to the *output* file. *input* and *output* must be :term:`binary file objects 277db96d56Sopenharmony_ci <file object>`. If the optional argument *header* is present and true, underscore 287db96d56Sopenharmony_ci will be decoded as space. This is used to decode "Q"-encoded headers as 297db96d56Sopenharmony_ci described in :rfc:`1522`: "MIME (Multipurpose Internet Mail Extensions) 307db96d56Sopenharmony_ci Part Two: Message Header Extensions for Non-ASCII Text". 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ci.. function:: encode(input, output, quotetabs, header=False) 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_ci Encode the contents of the *input* file and write the resulting quoted-printable 367db96d56Sopenharmony_ci data to the *output* file. *input* and *output* must be 377db96d56Sopenharmony_ci :term:`binary file objects <file object>`. *quotetabs*, a 387db96d56Sopenharmony_ci non-optional flag which controls whether to encode embedded spaces 397db96d56Sopenharmony_ci and tabs; when true it encodes such embedded whitespace, and when 407db96d56Sopenharmony_ci false it leaves them unencoded. 417db96d56Sopenharmony_ci Note that spaces and tabs appearing at the end of lines are always encoded, 427db96d56Sopenharmony_ci as per :rfc:`1521`. *header* is a flag which controls if spaces are encoded 437db96d56Sopenharmony_ci as underscores as per :rfc:`1522`. 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ci 467db96d56Sopenharmony_ci.. function:: decodestring(s, header=False) 477db96d56Sopenharmony_ci 487db96d56Sopenharmony_ci Like :func:`decode`, except that it accepts a source :class:`bytes` and 497db96d56Sopenharmony_ci returns the corresponding decoded :class:`bytes`. 507db96d56Sopenharmony_ci 517db96d56Sopenharmony_ci 527db96d56Sopenharmony_ci.. function:: encodestring(s, quotetabs=False, header=False) 537db96d56Sopenharmony_ci 547db96d56Sopenharmony_ci Like :func:`encode`, except that it accepts a source :class:`bytes` and 557db96d56Sopenharmony_ci returns the corresponding encoded :class:`bytes`. By default, it sends a 567db96d56Sopenharmony_ci ``False`` value to *quotetabs* parameter of the :func:`encode` function. 577db96d56Sopenharmony_ci 587db96d56Sopenharmony_ci 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_ci.. seealso:: 617db96d56Sopenharmony_ci 627db96d56Sopenharmony_ci Module :mod:`base64` 637db96d56Sopenharmony_ci Encode and decode MIME base64 data 64