352 lines
34 KiB
HTML
352 lines
34 KiB
HTML
|
||
<!DOCTYPE html>
|
||
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh_CN">
|
||
<head>
|
||
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||
|
||
<title>email.header: 国际化标头 — Python 3.8.20 文档</title><meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
|
||
<link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||
|
||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||
<script src="../_static/jquery.js"></script>
|
||
<script src="../_static/underscore.js"></script>
|
||
<script src="../_static/doctools.js"></script>
|
||
<script src="../_static/language_data.js"></script>
|
||
<script src="../_static/translations.js"></script>
|
||
|
||
<script src="../_static/sidebar.js"></script>
|
||
|
||
<link rel="search" type="application/opensearchdescription+xml"
|
||
title="在 Python 3.8.20 文档 中搜索"
|
||
href="../_static/opensearch.xml"/>
|
||
<link rel="author" title="关于这些文档" href="../about.html" />
|
||
<link rel="index" title="索引" href="../genindex.html" />
|
||
<link rel="search" title="搜索" href="../search.html" />
|
||
<link rel="copyright" title="版权所有" href="../copyright.html" />
|
||
<link rel="next" title="email.charset: 表示字符集" href="email.charset.html" />
|
||
<link rel="prev" title="email.mime: 从头创建电子邮件和 MIME 对象" href="email.mime.html" />
|
||
<link rel="canonical" href="https://docs.python.org/3/library/email.header.html" />
|
||
|
||
|
||
|
||
|
||
|
||
<style>
|
||
@media only screen {
|
||
table.full-width-table {
|
||
width: 100%;
|
||
}
|
||
}
|
||
</style>
|
||
<link rel="shortcut icon" type="image/png" href="../_static/py.svg" />
|
||
<script type="text/javascript" src="../_static/copybutton.js"></script>
|
||
<script type="text/javascript" src="../_static/menu.js"></script>
|
||
|
||
</head>
|
||
<body>
|
||
<div class="mobile-nav">
|
||
<input type="checkbox" id="menuToggler" class="toggler__input" aria-controls="navigation"
|
||
aria-pressed="false" aria-expanded="false" role="button" aria-label="Menu" />
|
||
<label for="menuToggler" class="toggler__label">
|
||
<span></span>
|
||
</label>
|
||
<nav class="nav-content" role="navigation">
|
||
<a href="https://www.python.org/" class="nav-logo">
|
||
<img src="../_static/py.svg" alt="Logo"/>
|
||
</a>
|
||
<div class="version_switcher_placeholder"></div>
|
||
<form role="search" class="search" action="../search.html" method="get">
|
||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" class="search-icon">
|
||
<path fill-rule="nonzero"
|
||
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" fill="#444"></path>
|
||
</svg>
|
||
<input type="text" name="q" aria-label="快速搜索"/>
|
||
<input type="submit" value="转向"/>
|
||
</form>
|
||
</nav>
|
||
<div class="menu-wrapper">
|
||
<nav class="menu" role="navigation" aria-label="main navigation">
|
||
<div class="language_switcher_placeholder"></div>
|
||
<h4>上一个主题</h4>
|
||
<p class="topless"><a href="email.mime.html"
|
||
title="上一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.mime</span></code>: 从头创建电子邮件和 MIME 对象</a></p>
|
||
<h4>下一个主题</h4>
|
||
<p class="topless"><a href="email.charset.html"
|
||
title="下一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.charset</span></code>: 表示字符集</a></p>
|
||
<div role="note" aria-label="source link">
|
||
<h3>本页</h3>
|
||
<ul class="this-page-menu">
|
||
<li><a href="../bugs.html">报告 Bug</a></li>
|
||
<li>
|
||
<a href="https://github.com/python/cpython/blob/3.8/Doc/library/email.header.rst"
|
||
rel="nofollow">显示源代码
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="outdated-warning" style="padding: .5em; text-align: center; background-color: #FFBABA; color: #6A0E0E;">
|
||
这个文档所针对的是一个已不再受支持的 Python 旧版本。
|
||
你应当升级版本,并阅读
|
||
<a href="/3/library/email.header.html"> Python 当前稳定版本的文档</a>.
|
||
</div>
|
||
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>导航</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="../genindex.html" title="总目录"
|
||
accesskey="I">索引</a></li>
|
||
<li class="right" >
|
||
<a href="../py-modindex.html" title="Python 模块索引"
|
||
>模块</a> |</li>
|
||
<li class="right" >
|
||
<a href="email.charset.html" title="email.charset: 表示字符集"
|
||
accesskey="N">下一页</a> |</li>
|
||
<li class="right" >
|
||
<a href="email.mime.html" title="email.mime: 从头创建电子邮件和 MIME 对象"
|
||
accesskey="P">上一页</a> |</li>
|
||
|
||
<li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li>
|
||
<li><a href="https://www.python.org/">Python</a> »</li>
|
||
<li class="switchers">
|
||
<div class="language_switcher_placeholder"></div>
|
||
<div class="version_switcher_placeholder"></div>
|
||
</li>
|
||
<li>
|
||
|
||
</li>
|
||
<li id="cpython-language-and-version">
|
||
<a href="../index.html">3.8.20 Documentation</a> »
|
||
</li>
|
||
|
||
<li class="nav-item nav-item-1"><a href="index.html" >Python 标准库</a> »</li>
|
||
<li class="nav-item nav-item-2"><a href="netdata.html" >互联网数据处理</a> »</li>
|
||
<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> --- 电子邮件与 MIME 处理包</a> »</li>
|
||
<li class="right">
|
||
|
||
|
||
<div class="inline-search" role="search">
|
||
<form class="inline-search" action="../search.html" method="get">
|
||
<input placeholder="快速搜索" aria-label="快速搜索" type="text" name="q" />
|
||
<input type="submit" value="转向" />
|
||
<input type="hidden" name="check_keywords" value="yes" />
|
||
<input type="hidden" name="area" value="default" />
|
||
</form>
|
||
</div>
|
||
|
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
<div class="body" role="main">
|
||
|
||
<section id="module-email.header">
|
||
<span id="email-header-internationalized-headers"></span><h1><a class="reference internal" href="#module-email.header" title="email.header: Representing non-ASCII headers"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.header</span></code></a>: 国际化标头<a class="headerlink" href="#module-email.header" title="永久链接至标题">¶</a></h1>
|
||
<p><strong>源代码:</strong> <a class="reference external" href="https://github.com/python/cpython/tree/3.8/Lib/email/header.py">Lib/email/header.py</a></p>
|
||
<hr class="docutils" />
|
||
<p>此模块是旧式 (<code class="docutils literal notranslate"><span class="pre">Compat32</span></code>) email API 的一部分。 在当前的 API 中标头的编码和解码是由 <a class="reference internal" href="email.message.html#email.message.EmailMessage" title="email.message.EmailMessage"><code class="xref py py-class docutils literal notranslate"><span class="pre">EmailMessage</span></code></a> 类的字典型 API 来透明地处理的。 除了在旧有代码中使用,此模块在需要完全控制当编码标头时所使用的字符集时也很有用处。</p>
|
||
<p>本段落中的剩余文本是该模块的原始文档。</p>
|
||
<p><span class="target" id="index-28"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a> 是描述电子邮件消息格式的基础标准。 它派生自更早的 <span class="target" id="index-29"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc822.html"><strong>RFC 822</strong></a> 标准,该标准在大多数电子邮件仅由 ASCII 字符组成时已被广泛使用。 <span class="target" id="index-30"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a> 所描述的规范假定电子邮件都只包含 7 位 ASCII 字符。</p>
|
||
<p>当然,随着电子邮件在全球部署,它已经变得国际化了,例如电子邮件消息中现在可以使用特定语言的专属字符集。 这个基础标准仍然要求电子邮件消息只使用 7 位 ASCII 字符来进行传输,为此编写了大量 RFC 来描述如何将包含非 ASCII 字符的电子邮件编码为符合 <span class="target" id="index-31"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a> 的格式。 这些 RFC 包括 <span class="target" id="index-32"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2045.html"><strong>RFC 2045</strong></a>, <span class="target" id="index-33"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2046.html"><strong>RFC 2046</strong></a>, <span class="target" id="index-34"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2047.html"><strong>RFC 2047</strong></a> 和 <span class="target" id="index-35"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2231.html"><strong>RFC 2231</strong></a>。 <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> 包在其 <a class="reference internal" href="#module-email.header" title="email.header: Representing non-ASCII headers"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.header</span></code></a> 和 <a class="reference internal" href="email.charset.html#module-email.charset" title="email.charset: Character Sets"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.charset</span></code></a> 模块中支持了这些标准。</p>
|
||
<p>如果你想在你的电子邮件标头中包括非 ASCII 字符,比如说是在 <em class="mailheader">Subject</em> 或 <em class="mailheader">To</em> 字段中,你应当使用 <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 类并将 <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> 对象中的字段赋值为 <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 的实例而不是使用字符串作为字段值。 请从 <a class="reference internal" href="#module-email.header" title="email.header: Representing non-ASCII headers"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.header</span></code></a> 模块导入 <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 类。 例如:</p>
|
||
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">email.message</span> <span class="kn">import</span> <span class="n">Message</span>
|
||
<span class="gp">>>> </span><span class="kn">from</span> <span class="nn">email.header</span> <span class="kn">import</span> <span class="n">Header</span>
|
||
<span class="gp">>>> </span><span class="n">msg</span> <span class="o">=</span> <span class="n">Message</span><span class="p">()</span>
|
||
<span class="gp">>>> </span><span class="n">h</span> <span class="o">=</span> <span class="n">Header</span><span class="p">(</span><span class="s1">'p</span><span class="se">\xf6</span><span class="s1">stal'</span><span class="p">,</span> <span class="s1">'iso-8859-1'</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">msg</span><span class="p">[</span><span class="s1">'Subject'</span><span class="p">]</span> <span class="o">=</span> <span class="n">h</span>
|
||
<span class="gp">>>> </span><span class="n">msg</span><span class="o">.</span><span class="n">as_string</span><span class="p">()</span>
|
||
<span class="go">'Subject: =?iso-8859-1?q?p=F6stal?=\n\n'</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>是否注意到这里我们是如何希望 <em class="mailheader">Subject</em> 字段包含非 ASCII 字符的? 我们通过创建一个 <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 实例并传入字节串编码所用的字符集来做到这一点。 当后续的 <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> 实例被展平时,<em class="mailheader">Subject</em> 字段会正确地按 <span class="target" id="index-36"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2047.html"><strong>RFC 2047</strong></a> 来编码。 可感知 MIME 的电子邮件阅读器将会使用嵌入的 ISO-8859-1 字符来显示此标头。</p>
|
||
<p>以下是 <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 类描述:</p>
|
||
<dl class="class">
|
||
<dt id="email.header.Header">
|
||
<em class="property">class </em><code class="sig-prename descclassname">email.header.</code><code class="sig-name descname">Header</code><span class="sig-paren">(</span><em class="sig-param">s=None</em>, <em class="sig-param">charset=None</em>, <em class="sig-param">maxlinelen=None</em>, <em class="sig-param">header_name=None</em>, <em class="sig-param">continuation_ws=' '</em>, <em class="sig-param">errors='strict'</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>创建符合 MIME 要求的标头,其中可包含不同字符集的字符串。</p>
|
||
<p>可选的 <em>s</em> 是初始标头值。 如果为 <code class="docutils literal notranslate"><span class="pre">None</span></code> (默认值),则表示初始标头值未设置。 你可以在稍后使用 <a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal notranslate"><span class="pre">append()</span></code></a> 方法调用向标头添加新值。 <em>s</em> 可以是 <a class="reference internal" href="stdtypes.html#bytes" title="bytes"><code class="xref py py-class docutils literal notranslate"><span class="pre">bytes</span></code></a> 或 <a class="reference internal" href="stdtypes.html#str" title="str"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> 的实例,注意参阅 <a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal notranslate"><span class="pre">append()</span></code></a> 文档了解相关语义。</p>
|
||
<p>可选的 <em>charset</em> 用于两种目的:它的含义与 <a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal notranslate"><span class="pre">append()</span></code></a> 方法的 <em>charset</em> 参数相同。 它还会为所有省略了 <em>charset</em> 参数的后续 <a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal notranslate"><span class="pre">append()</span></code></a> 调用设置默认字符集。 如果 <em>charset</em> 在构造器中未提供(默认设置),则会将 <code class="docutils literal notranslate"><span class="pre">us-ascii</span></code> 字符集用作 <em>s</em> 的初始字符集以及后续 <a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal notranslate"><span class="pre">append()</span></code></a> 调用的默认字符集。</p>
|
||
<p>通过 <em>maxlinelen</em> 可以显式指定最大行长度。 要将第一行拆分为更短的值 (以适应未被包括在to account for the field header which isn't included in <em>s</em> 中的字段标头,例如 <em class="mailheader">Subject</em>),则将字段名称作为 <em>header_name</em> 传入。 <em>maxlinelen</em> 默认值为 76,而 <em>header_name</em> 默认值为 <code class="docutils literal notranslate"><span class="pre">None</span></code>,表示不考虑拆分超长标头的第一行。</p>
|
||
<p>可选的 <em>continuation_ws</em> 必须为符合 <span class="target" id="index-37"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a> 的折叠用空白符,通常是空格符或硬制表符。 这个字符将被加缀至连续行的开头。 <em>continuation_ws</em> 默认为一个空格符。</p>
|
||
<p>可选的 <em>errors</em> 会被直接传递给 <a class="reference internal" href="#email.header.Header.append" title="email.header.Header.append"><code class="xref py py-meth docutils literal notranslate"><span class="pre">append()</span></code></a> 方法。</p>
|
||
<dl class="method">
|
||
<dt id="email.header.Header.append">
|
||
<code class="sig-name descname">append</code><span class="sig-paren">(</span><em class="sig-param">s</em>, <em class="sig-param">charset=None</em>, <em class="sig-param">errors='strict'</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header.append" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>将字符串 <em>s</em> 添加到 MIME 标头。</p>
|
||
<p>如果给出可选的 <em>charset</em>,它应当是一个 <a class="reference internal" href="email.charset.html#email.charset.Charset" title="email.charset.Charset"><code class="xref py py-class docutils literal notranslate"><span class="pre">Charset</span></code></a> 实例 (参见 <a class="reference internal" href="email.charset.html#module-email.charset" title="email.charset: Character Sets"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.charset</span></code></a>) 或字符集名称,该参数将被转换为一个 <a class="reference internal" href="email.charset.html#email.charset.Charset" title="email.charset.Charset"><code class="xref py py-class docutils literal notranslate"><span class="pre">Charset</span></code></a> 实例。 如果为 <code class="docutils literal notranslate"><span class="pre">None</span></code> (默认值) 则表示会使用构造器中给出的 <em>charset</em>。</p>
|
||
<p><em>s</em> 可以是 <a class="reference internal" href="stdtypes.html#bytes" title="bytes"><code class="xref py py-class docutils literal notranslate"><span class="pre">bytes</span></code></a> 或 <a class="reference internal" href="stdtypes.html#str" title="str"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> 的实例。 如果它是 <a class="reference internal" href="stdtypes.html#bytes" title="bytes"><code class="xref py py-class docutils literal notranslate"><span class="pre">bytes</span></code></a> 的实例,则 <em>charset</em> 为该字节串的编码格式,如果字节串无法用该字符集来解码则将引发 <a class="reference internal" href="exceptions.html#UnicodeError" title="UnicodeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">UnicodeError</span></code></a>。</p>
|
||
<p>如果 <em>s</em> 是 <a class="reference internal" href="stdtypes.html#str" title="str"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> 的实例,则 <em>charset</em> 是用来指定字符串中字符字符集的提示。</p>
|
||
<p>在这两种情况下,当使用 <span class="target" id="index-38"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2047.html"><strong>RFC 2047</strong></a> 规则产生符合 <span class="target" id="index-39"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a> 的标头时,将使用指定字符集的输出编解码器来编码字符串。 如果字符串无法使用该输出编解码器来编码,则将引发 UnicodeError。</p>
|
||
<p>可选的 <em>errors</em> 会在 <em>s</em> 为字节串时被作为 errors 参数传递给 decode 调用。</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="email.header.Header.encode">
|
||
<code class="sig-name descname">encode</code><span class="sig-paren">(</span><em class="sig-param">splitchars=';</em>, <em class="sig-param">\t'</em>, <em class="sig-param">maxlinelen=None</em>, <em class="sig-param">linesep='\n'</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header.encode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>将消息标头编码为符合 RFC 的格式,可能会对过长的行采取折行并将非 ASCII 部分以 base64 或 quoted-printable 编码格式进行封装。</p>
|
||
<p>可选的 <em>splitchars</em> 是一个字符串,其中包含应在正常的标头折行处理期间由拆分算法赋予额外权重的字符。 这是对于 <span class="target" id="index-40"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2822.html"><strong>RFC 2822</strong></a> 中 '更高层级语法拆分' 的很粗略的支持:在拆分期间会首选在 splitchar 之前的拆分点,字符的优先级是基于它们在字符串中的出现顺序。 字符串中可包含空格和制表符以指明当其他拆分字符未在被拆分行中出现时是否要将某个字符作为优先于另一个字符的首选拆分点。 拆分字符不会影响以 <span class="target" id="index-41"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2047.html"><strong>RFC 2047</strong></a> 编码的行。</p>
|
||
<p>如果给出 <em>maxlinelen</em>,它将覆盖实例的最大行长度值。</p>
|
||
<p><em>linesep</em> 指定用来分隔已折叠标头行的字符。 它默认为 Python 应用程序代码中最常用的值 (<code class="docutils literal notranslate"><span class="pre">\n</span></code>),但也可以指定为 <code class="docutils literal notranslate"><span class="pre">\r\n</span></code> 以便产生带有符合 RFC 的行分隔符的标头。</p>
|
||
<div class="versionchanged">
|
||
<p><span class="versionmodified changed">在 3.2 版更改: </span>增加了 <em>linesep</em> 参数。</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<p><a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 类还提供了一些方法以支持标准运算符和内置函数。</p>
|
||
<dl class="method">
|
||
<dt id="email.header.Header.__str__">
|
||
<code class="sig-name descname">__str__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header.__str__" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>以字符串形式返回 <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 的近似表示,使用不受限制的行长度。 所有部分都会使用指定编码格式转换为 unicode 并适当地连接起来。 任何带有 <code class="docutils literal notranslate"><span class="pre">'unknown-8bit'</span></code> 字符集的部分都会使用 <code class="docutils literal notranslate"><span class="pre">'replace'</span></code> 错误处理程序解码为 ASCII。</p>
|
||
<div class="versionchanged">
|
||
<p><span class="versionmodified changed">在 3.2 版更改: </span>增加对 <code class="docutils literal notranslate"><span class="pre">'unknown-8bit'</span></code> 字符集的处理。</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="email.header.Header.__eq__">
|
||
<code class="sig-name descname">__eq__</code><span class="sig-paren">(</span><em class="sig-param">other</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header.__eq__" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>这个方法允许你对两个 <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 实例进行相等比较。</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="email.header.Header.__ne__">
|
||
<code class="sig-name descname">__ne__</code><span class="sig-paren">(</span><em class="sig-param">other</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.Header.__ne__" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>这个方法允许你对两个 <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 实例进行不等比较。</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<p><a class="reference internal" href="#module-email.header" title="email.header: Representing non-ASCII headers"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.header</span></code></a> 模块还提供了下列便捷函数。</p>
|
||
<dl class="function">
|
||
<dt id="email.header.decode_header">
|
||
<code class="sig-prename descclassname">email.header.</code><code class="sig-name descname">decode_header</code><span class="sig-paren">(</span><em class="sig-param">header</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.decode_header" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>在不转换字符集的情况下对消息标头值进行解码。 <em>header</em> 为标头值。</p>
|
||
<p>这个函数返回一个 <code class="docutils literal notranslate"><span class="pre">(decoded_string,</span> <span class="pre">charset)</span></code> 对的列表,其中包含标头的每个已解码部分。 对于标头的未编码部分 <em>charset</em> 为 <code class="docutils literal notranslate"><span class="pre">None</span></code>,在其他情况下则为一个包含已编码字符串中所指定字符集名称的小写字符串。</p>
|
||
<p>以下是为示例代码:</p>
|
||
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">email.header</span> <span class="kn">import</span> <span class="n">decode_header</span>
|
||
<span class="gp">>>> </span><span class="n">decode_header</span><span class="p">(</span><span class="s1">'=?iso-8859-1?q?p=F6stal?='</span><span class="p">)</span>
|
||
<span class="go">[(b'p\xf6stal', 'iso-8859-1')]</span>
|
||
</pre></div>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="email.header.make_header">
|
||
<code class="sig-prename descclassname">email.header.</code><code class="sig-name descname">make_header</code><span class="sig-paren">(</span><em class="sig-param">decoded_seq</em>, <em class="sig-param">maxlinelen=None</em>, <em class="sig-param">header_name=None</em>, <em class="sig-param">continuation_ws=' '</em><span class="sig-paren">)</span><a class="headerlink" href="#email.header.make_header" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>基于 <a class="reference internal" href="#email.header.decode_header" title="email.header.decode_header"><code class="xref py py-func docutils literal notranslate"><span class="pre">decode_header()</span></code></a> 所返回的数据对序列创建一个 <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 实例。</p>
|
||
<p><a class="reference internal" href="#email.header.decode_header" title="email.header.decode_header"><code class="xref py py-func docutils literal notranslate"><span class="pre">decode_header()</span></code></a> 接受一个标头值字符串并返回格式为 <code class="docutils literal notranslate"><span class="pre">(decoded_string,</span> <span class="pre">charset)</span></code> 的数据对序列,其中 <em>charset</em> 是字符集名称。</p>
|
||
<p>这个函数接受这样的数据对序列并返回一个 <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 实例。 可选的 <em>maxlinelen</em>, <em>header_name</em> 和 <em>continuation_ws</em> 与 <a class="reference internal" href="#email.header.Header" title="email.header.Header"><code class="xref py py-class docutils literal notranslate"><span class="pre">Header</span></code></a> 构造器中的含义相同。</p>
|
||
</dd></dl>
|
||
|
||
</section>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<h4>上一个主题</h4>
|
||
<p class="topless"><a href="email.mime.html"
|
||
title="上一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.mime</span></code>: 从头创建电子邮件和 MIME 对象</a></p>
|
||
<h4>下一个主题</h4>
|
||
<p class="topless"><a href="email.charset.html"
|
||
title="下一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">email.charset</span></code>: 表示字符集</a></p>
|
||
<div role="note" aria-label="source link">
|
||
<h3>本页</h3>
|
||
<ul class="this-page-menu">
|
||
<li><a href="../bugs.html">报告 Bug</a></li>
|
||
<li>
|
||
<a href="https://github.com/python/cpython/blob/3.8/Doc/library/email.header.rst"
|
||
rel="nofollow">显示源代码
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>导航</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="../genindex.html" title="总目录"
|
||
>索引</a></li>
|
||
<li class="right" >
|
||
<a href="../py-modindex.html" title="Python 模块索引"
|
||
>模块</a> |</li>
|
||
<li class="right" >
|
||
<a href="email.charset.html" title="email.charset: 表示字符集"
|
||
>下一页</a> |</li>
|
||
<li class="right" >
|
||
<a href="email.mime.html" title="email.mime: 从头创建电子邮件和 MIME 对象"
|
||
>上一页</a> |</li>
|
||
|
||
<li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li>
|
||
<li><a href="https://www.python.org/">Python</a> »</li>
|
||
<li class="switchers">
|
||
<div class="language_switcher_placeholder"></div>
|
||
<div class="version_switcher_placeholder"></div>
|
||
</li>
|
||
<li>
|
||
|
||
</li>
|
||
<li id="cpython-language-and-version">
|
||
<a href="../index.html">3.8.20 Documentation</a> »
|
||
</li>
|
||
|
||
<li class="nav-item nav-item-1"><a href="index.html" >Python 标准库</a> »</li>
|
||
<li class="nav-item nav-item-2"><a href="netdata.html" >互联网数据处理</a> »</li>
|
||
<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> --- 电子邮件与 MIME 处理包</a> »</li>
|
||
<li class="right">
|
||
|
||
|
||
<div class="inline-search" role="search">
|
||
<form class="inline-search" action="../search.html" method="get">
|
||
<input placeholder="快速搜索" aria-label="快速搜索" type="text" name="q" />
|
||
<input type="submit" value="转向" />
|
||
<input type="hidden" name="check_keywords" value="yes" />
|
||
<input type="hidden" name="area" value="default" />
|
||
</form>
|
||
</div>
|
||
|
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
<div class="footer">
|
||
© <a href="../copyright.html">版权所有</a> 2001-2024, Python Software Foundation.
|
||
<br />
|
||
This page is licensed under the Python Software Foundation License Version 2.
|
||
<br />
|
||
Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.
|
||
<br />
|
||
|
||
<br />
|
||
|
||
The Python Software Foundation is a non-profit corporation.
|
||
<a href="https://www.python.org/psf/donations/">Please donate.</a>
|
||
<br />
|
||
<br />
|
||
|
||
最后更新于 12月 09, 2024.
|
||
<a href="https://docs.python.org/3/bugs.html">Found a bug</a>?
|
||
<br />
|
||
|
||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 2.4.4.
|
||
</div>
|
||
|
||
</body>
|
||
</html> |