gooderp18绿色标准版
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

379 行
21KB

  1. <!DOCTYPE html>
  2. <html lang="en" data-content_root="../">
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
  6. <meta property="og:title" content="email.encoders: Encoders" />
  7. <meta property="og:type" content="website" />
  8. <meta property="og:url" content="https://docs.python.org/3/library/email.encoders.html" />
  9. <meta property="og:site_name" content="Python documentation" />
  10. <meta property="og:description" content="Source code: Lib/email/encoders.py This module is part of the legacy ( Compat32) email API. In the new API the functionality is provided by the cte parameter of the set_content() method. This modul..." />
  11. <meta property="og:image" content="https://docs.python.org/3/_static/og-image.png" />
  12. <meta property="og:image:alt" content="Python documentation" />
  13. <meta name="description" content="Source code: Lib/email/encoders.py This module is part of the legacy ( Compat32) email API. In the new API the functionality is provided by the cte parameter of the set_content() method. This modul..." />
  14. <meta property="og:image:width" content="200" />
  15. <meta property="og:image:height" content="200" />
  16. <meta name="theme-color" content="#3776ab" />
  17. <title>email.encoders: Encoders &#8212; Python 3.12.3 documentation</title><meta name="viewport" content="width=device-width, initial-scale=1.0">
  18. <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=80d5e7a1" />
  19. <link rel="stylesheet" type="text/css" href="../_static/pydoctheme.css?v=bb723527" />
  20. <link id="pygments_dark_css" media="(prefers-color-scheme: dark)" rel="stylesheet" type="text/css" href="../_static/pygments_dark.css?v=b20cc3f5" />
  21. <script src="../_static/documentation_options.js?v=2c828074"></script>
  22. <script src="../_static/doctools.js?v=888ff710"></script>
  23. <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
  24. <script src="../_static/sidebar.js"></script>
  25. <link rel="search" type="application/opensearchdescription+xml"
  26. title="Search within Python 3.12.3 documentation"
  27. href="../_static/opensearch.xml"/>
  28. <link rel="author" title="About these documents" href="../about.html" />
  29. <link rel="index" title="Index" href="../genindex.html" />
  30. <link rel="search" title="Search" href="../search.html" />
  31. <link rel="copyright" title="Copyright" href="../copyright.html" />
  32. <link rel="next" title="email.utils: Miscellaneous utilities" href="email.utils.html" />
  33. <link rel="prev" title="email.charset: Representing character sets" href="email.charset.html" />
  34. <link rel="canonical" href="https://docs.python.org/3/library/email.encoders.html" />
  35. <style>
  36. @media only screen {
  37. table.full-width-table {
  38. width: 100%;
  39. }
  40. }
  41. </style>
  42. <link rel="stylesheet" href="../_static/pydoctheme_dark.css" media="(prefers-color-scheme: dark)" id="pydoctheme_dark_css">
  43. <link rel="shortcut icon" type="image/png" href="../_static/py.svg" />
  44. <script type="text/javascript" src="../_static/copybutton.js"></script>
  45. <script type="text/javascript" src="../_static/menu.js"></script>
  46. <script type="text/javascript" src="../_static/search-focus.js"></script>
  47. <script type="text/javascript" src="../_static/themetoggle.js"></script>
  48. </head>
  49. <body>
  50. <div class="mobile-nav">
  51. <input type="checkbox" id="menuToggler" class="toggler__input" aria-controls="navigation"
  52. aria-pressed="false" aria-expanded="false" role="button" aria-label="Menu" />
  53. <nav class="nav-content" role="navigation">
  54. <label for="menuToggler" class="toggler__label">
  55. <span></span>
  56. </label>
  57. <span class="nav-items-wrapper">
  58. <a href="https://www.python.org/" class="nav-logo">
  59. <img src="../_static/py.svg" alt="Python logo"/>
  60. </a>
  61. <span class="version_switcher_placeholder"></span>
  62. <form role="search" class="search" action="../search.html" method="get">
  63. <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" class="search-icon">
  64. <path fill-rule="nonzero" fill="currentColor" d="M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
  65. </svg>
  66. <input placeholder="Quick search" aria-label="Quick search" type="search" name="q" />
  67. <input type="submit" value="Go"/>
  68. </form>
  69. </span>
  70. </nav>
  71. <div class="menu-wrapper">
  72. <nav class="menu" role="navigation" aria-label="main navigation">
  73. <div class="language_switcher_placeholder"></div>
  74. <label class="theme-selector-label">
  75. Theme
  76. <select class="theme-selector" oninput="activateTheme(this.value)">
  77. <option value="auto" selected>Auto</option>
  78. <option value="light">Light</option>
  79. <option value="dark">Dark</option>
  80. </select>
  81. </label>
  82. <div>
  83. <h4>Previous topic</h4>
  84. <p class="topless"><a href="email.charset.html"
  85. title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.charset</span></code>: Representing character sets</a></p>
  86. </div>
  87. <div>
  88. <h4>Next topic</h4>
  89. <p class="topless"><a href="email.utils.html"
  90. title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.utils</span></code>: Miscellaneous utilities</a></p>
  91. </div>
  92. <div role="note" aria-label="source link">
  93. <h3>This Page</h3>
  94. <ul class="this-page-menu">
  95. <li><a href="../bugs.html">Report a Bug</a></li>
  96. <li>
  97. <a href="https://github.com/python/cpython/blob/main/Doc/library/email.encoders.rst"
  98. rel="nofollow">Show Source
  99. </a>
  100. </li>
  101. </ul>
  102. </div>
  103. </nav>
  104. </div>
  105. </div>
  106. <div class="related" role="navigation" aria-label="related navigation">
  107. <h3>Navigation</h3>
  108. <ul>
  109. <li class="right" style="margin-right: 10px">
  110. <a href="../genindex.html" title="General Index"
  111. accesskey="I">index</a></li>
  112. <li class="right" >
  113. <a href="../py-modindex.html" title="Python Module Index"
  114. >modules</a> |</li>
  115. <li class="right" >
  116. <a href="email.utils.html" title="email.utils: Miscellaneous utilities"
  117. accesskey="N">next</a> |</li>
  118. <li class="right" >
  119. <a href="email.charset.html" title="email.charset: Representing character sets"
  120. accesskey="P">previous</a> |</li>
  121. <li><img src="../_static/py.svg" alt="Python logo" style="vertical-align: middle; margin-top: -1px"/></li>
  122. <li><a href="https://www.python.org/">Python</a> &#187;</li>
  123. <li class="switchers">
  124. <div class="language_switcher_placeholder"></div>
  125. <div class="version_switcher_placeholder"></div>
  126. </li>
  127. <li>
  128. </li>
  129. <li id="cpython-language-and-version">
  130. <a href="../index.html">3.12.3 Documentation</a> &#187;
  131. </li>
  132. <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> &#187;</li>
  133. <li class="nav-item nav-item-2"><a href="netdata.html" >Internet Data Handling</a> &#187;</li>
  134. <li class="nav-item nav-item-3"><a href="email.html" accesskey="U"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email</span></code> — An email and MIME handling package</a> &#187;</li>
  135. <li class="nav-item nav-item-this"><a href=""><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.encoders</span></code>: Encoders</a></li>
  136. <li class="right">
  137. <div class="inline-search" role="search">
  138. <form class="inline-search" action="../search.html" method="get">
  139. <input placeholder="Quick search" aria-label="Quick search" type="search" name="q" id="search-box" />
  140. <input type="submit" value="Go" />
  141. </form>
  142. </div>
  143. |
  144. </li>
  145. <li class="right">
  146. <label class="theme-selector-label">
  147. Theme
  148. <select class="theme-selector" oninput="activateTheme(this.value)">
  149. <option value="auto" selected>Auto</option>
  150. <option value="light">Light</option>
  151. <option value="dark">Dark</option>
  152. </select>
  153. </label> |</li>
  154. </ul>
  155. </div>
  156. <div class="document">
  157. <div class="documentwrapper">
  158. <div class="bodywrapper">
  159. <div class="body" role="main">
  160. <section id="module-email.encoders">
  161. <span id="email-encoders-encoders"></span><h1><a class="reference internal" href="#module-email.encoders" title="email.encoders: Encoders for email message payloads."><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.encoders</span></code></a>: Encoders<a class="headerlink" href="#module-email.encoders" title="Link to this heading">¶</a></h1>
  162. <p><strong>Source code:</strong> <a class="reference external" href="https://github.com/python/cpython/tree/3.12/Lib/email/encoders.py">Lib/email/encoders.py</a></p>
  163. <hr class="docutils" />
  164. <p>This module is part of the legacy (<code class="docutils literal notranslate"><span class="pre">Compat32</span></code>) email API. In the
  165. new API the functionality is provided by the <em>cte</em> parameter of
  166. the <a class="reference internal" href="email.message.html#email.message.EmailMessage.set_content" title="email.message.EmailMessage.set_content"><code class="xref py py-meth docutils literal notranslate"><span class="pre">set_content()</span></code></a> method.</p>
  167. <p>This module is deprecated in Python 3. The functions provided here
  168. should not be called explicitly since the <a class="reference internal" href="email.mime.html#email.mime.text.MIMEText" title="email.mime.text.MIMEText"><code class="xref py py-class docutils literal notranslate"><span class="pre">MIMEText</span></code></a>
  169. class sets the content type and CTE header using the <em>_subtype</em> and <em>_charset</em>
  170. values passed during the instantiation of that class.</p>
  171. <p>The remaining text in this section is the original documentation of the module.</p>
  172. <p>When creating <a class="reference internal" href="email.compat32-message.html#email.message.Message" title="email.message.Message"><code class="xref py py-class docutils literal notranslate"><span class="pre">Message</span></code></a> objects from scratch, you often
  173. need to encode the payloads for transport through compliant mail servers. This
  174. is especially true for <em class="mimetype">image/*</em> and <em class="mimetype">text/*</em> type messages
  175. containing binary data.</p>
  176. <p>The <a class="reference internal" href="email.html#module-email" title="email: Package supporting the parsing, manipulating, and generating email messages."><code class="xref py py-mod docutils literal notranslate"><span class="pre">email</span></code></a> package provides some convenient encoders in its
  177. <a class="reference internal" href="#module-email.encoders" title="email.encoders: Encoders for email message payloads."><code class="xref py py-mod docutils literal notranslate"><span class="pre">encoders</span></code></a> module. These encoders are actually used by the
  178. <a class="reference internal" href="email.mime.html#email.mime.audio.MIMEAudio" title="email.mime.audio.MIMEAudio"><code class="xref py py-class docutils literal notranslate"><span class="pre">MIMEAudio</span></code></a> and <a class="reference internal" href="email.mime.html#email.mime.image.MIMEImage" title="email.mime.image.MIMEImage"><code class="xref py py-class docutils literal notranslate"><span class="pre">MIMEImage</span></code></a>
  179. class constructors to provide default encodings. All encoder functions take
  180. exactly one argument, the message object to encode. They usually extract the
  181. payload, encode it, and reset the payload to this newly encoded value. They
  182. should also set the <em class="mailheader">Content-Transfer-Encoding</em> header as appropriate.</p>
  183. <p>Note that these functions are not meaningful for a multipart message. They
  184. must be applied to individual subparts instead, and will raise a
  185. <a class="reference internal" href="exceptions.html#TypeError" title="TypeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">TypeError</span></code></a> if passed a message whose type is multipart.</p>
  186. <p>Here are the encoding functions provided:</p>
  187. <dl class="py function">
  188. <dt class="sig sig-object py" id="email.encoders.encode_quopri">
  189. <span class="sig-prename descclassname"><span class="pre">email.encoders.</span></span><span class="sig-name descname"><span class="pre">encode_quopri</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#email.encoders.encode_quopri" title="Link to this definition">¶</a></dt>
  190. <dd><p>Encodes the payload into quoted-printable form and sets the
  191. <em class="mailheader">Content-Transfer-Encoding</em> header to <code class="docutils literal notranslate"><span class="pre">quoted-printable</span></code> <a class="footnote-reference brackets" href="#id2" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a>.
  192. This is a good encoding to use when most of your payload is normal printable
  193. data, but contains a few unprintable characters.</p>
  194. </dd></dl>
  195. <dl class="py function">
  196. <dt class="sig sig-object py" id="email.encoders.encode_base64">
  197. <span class="sig-prename descclassname"><span class="pre">email.encoders.</span></span><span class="sig-name descname"><span class="pre">encode_base64</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#email.encoders.encode_base64" title="Link to this definition">¶</a></dt>
  198. <dd><p>Encodes the payload into base64 form and sets the
  199. <em class="mailheader">Content-Transfer-Encoding</em> header to <code class="docutils literal notranslate"><span class="pre">base64</span></code>. This is a good
  200. encoding to use when most of your payload is unprintable data since it is a more
  201. compact form than quoted-printable. The drawback of base64 encoding is that it
  202. renders the text non-human readable.</p>
  203. </dd></dl>
  204. <dl class="py function">
  205. <dt class="sig sig-object py" id="email.encoders.encode_7or8bit">
  206. <span class="sig-prename descclassname"><span class="pre">email.encoders.</span></span><span class="sig-name descname"><span class="pre">encode_7or8bit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#email.encoders.encode_7or8bit" title="Link to this definition">¶</a></dt>
  207. <dd><p>This doesn’t actually modify the message’s payload, but it does set the
  208. <em class="mailheader">Content-Transfer-Encoding</em> header to either <code class="docutils literal notranslate"><span class="pre">7bit</span></code> or <code class="docutils literal notranslate"><span class="pre">8bit</span></code> as
  209. appropriate, based on the payload data.</p>
  210. </dd></dl>
  211. <dl class="py function">
  212. <dt class="sig sig-object py" id="email.encoders.encode_noop">
  213. <span class="sig-prename descclassname"><span class="pre">email.encoders.</span></span><span class="sig-name descname"><span class="pre">encode_noop</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#email.encoders.encode_noop" title="Link to this definition">¶</a></dt>
  214. <dd><p>This does nothing; it doesn’t even set the
  215. <em class="mailheader">Content-Transfer-Encoding</em> header.</p>
  216. </dd></dl>
  217. <p class="rubric">Footnotes</p>
  218. <aside class="footnote-list brackets">
  219. <aside class="footnote brackets" id="id2" role="doc-footnote">
  220. <span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id1">1</a><span class="fn-bracket">]</span></span>
  221. <p>Note that encoding with <a class="reference internal" href="#email.encoders.encode_quopri" title="email.encoders.encode_quopri"><code class="xref py py-meth docutils literal notranslate"><span class="pre">encode_quopri()</span></code></a> also encodes all tabs and space
  222. characters in the data.</p>
  223. </aside>
  224. </aside>
  225. </section>
  226. <div class="clearer"></div>
  227. </div>
  228. </div>
  229. </div>
  230. <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
  231. <div class="sphinxsidebarwrapper">
  232. <div>
  233. <h4>Previous topic</h4>
  234. <p class="topless"><a href="email.charset.html"
  235. title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.charset</span></code>: Representing character sets</a></p>
  236. </div>
  237. <div>
  238. <h4>Next topic</h4>
  239. <p class="topless"><a href="email.utils.html"
  240. title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.utils</span></code>: Miscellaneous utilities</a></p>
  241. </div>
  242. <div role="note" aria-label="source link">
  243. <h3>This Page</h3>
  244. <ul class="this-page-menu">
  245. <li><a href="../bugs.html">Report a Bug</a></li>
  246. <li>
  247. <a href="https://github.com/python/cpython/blob/main/Doc/library/email.encoders.rst"
  248. rel="nofollow">Show Source
  249. </a>
  250. </li>
  251. </ul>
  252. </div>
  253. </div>
  254. <div id="sidebarbutton" title="Collapse sidebar">
  255. <span>«</span>
  256. </div>
  257. </div>
  258. <div class="clearer"></div>
  259. </div>
  260. <div class="related" role="navigation" aria-label="related navigation">
  261. <h3>Navigation</h3>
  262. <ul>
  263. <li class="right" style="margin-right: 10px">
  264. <a href="../genindex.html" title="General Index"
  265. >index</a></li>
  266. <li class="right" >
  267. <a href="../py-modindex.html" title="Python Module Index"
  268. >modules</a> |</li>
  269. <li class="right" >
  270. <a href="email.utils.html" title="email.utils: Miscellaneous utilities"
  271. >next</a> |</li>
  272. <li class="right" >
  273. <a href="email.charset.html" title="email.charset: Representing character sets"
  274. >previous</a> |</li>
  275. <li><img src="../_static/py.svg" alt="Python logo" style="vertical-align: middle; margin-top: -1px"/></li>
  276. <li><a href="https://www.python.org/">Python</a> &#187;</li>
  277. <li class="switchers">
  278. <div class="language_switcher_placeholder"></div>
  279. <div class="version_switcher_placeholder"></div>
  280. </li>
  281. <li>
  282. </li>
  283. <li id="cpython-language-and-version">
  284. <a href="../index.html">3.12.3 Documentation</a> &#187;
  285. </li>
  286. <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> &#187;</li>
  287. <li class="nav-item nav-item-2"><a href="netdata.html" >Internet Data Handling</a> &#187;</li>
  288. <li class="nav-item nav-item-3"><a href="email.html" ><code class="xref py py-mod docutils literal notranslate"><span class="pre">email</span></code> — An email and MIME handling package</a> &#187;</li>
  289. <li class="nav-item nav-item-this"><a href=""><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.encoders</span></code>: Encoders</a></li>
  290. <li class="right">
  291. <div class="inline-search" role="search">
  292. <form class="inline-search" action="../search.html" method="get">
  293. <input placeholder="Quick search" aria-label="Quick search" type="search" name="q" id="search-box" />
  294. <input type="submit" value="Go" />
  295. </form>
  296. </div>
  297. |
  298. </li>
  299. <li class="right">
  300. <label class="theme-selector-label">
  301. Theme
  302. <select class="theme-selector" oninput="activateTheme(this.value)">
  303. <option value="auto" selected>Auto</option>
  304. <option value="light">Light</option>
  305. <option value="dark">Dark</option>
  306. </select>
  307. </label> |</li>
  308. </ul>
  309. </div>
  310. <div class="footer">
  311. &copy;
  312. <a href="../copyright.html">
  313. Copyright
  314. </a>
  315. 2001-2024, Python Software Foundation.
  316. <br />
  317. This page is licensed under the Python Software Foundation License Version 2.
  318. <br />
  319. Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.
  320. <br />
  321. See <a href="/license.html">History and License</a> for more information.<br />
  322. <br />
  323. The Python Software Foundation is a non-profit corporation.
  324. <a href="https://www.python.org/psf/donations/">Please donate.</a>
  325. <br />
  326. <br />
  327. Last updated on Apr 09, 2024 (13:47 UTC).
  328. <a href="/bugs.html">Found a bug</a>?
  329. <br />
  330. Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.2.6.
  331. </div>
  332. </body>
  333. </html>
上海开阖软件有限公司 沪ICP备12045867号-1