448 lines
39 KiB
HTML
448 lines
39 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>base64 --- Base16, Base32, Base64, Base85 数据编码 — 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="binhex --- 对binhex4文件进行编码和解码" href="binhex.html" />
|
||
<link rel="prev" title="mimetypes --- 映射文件夹到 MIME 类型" href="mimetypes.html" />
|
||
<link rel="canonical" href="https://docs.python.org/3/library/base64.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="mimetypes.html"
|
||
title="上一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">mimetypes</span></code> --- 映射文件夹到 MIME 类型</a></p>
|
||
<h4>下一个主题</h4>
|
||
<p class="topless"><a href="binhex.html"
|
||
title="下一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">binhex</span></code> --- 对binhex4文件进行编码和解码</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/base64.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/base64.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="binhex.html" title="binhex --- 对binhex4文件进行编码和解码"
|
||
accesskey="N">下一页</a> |</li>
|
||
<li class="right" >
|
||
<a href="mimetypes.html" title="mimetypes --- 映射文件夹到 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" accesskey="U">互联网数据处理</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-base64">
|
||
<span id="base64-base16-base32-base64-base85-data-encodings"></span><h1><a class="reference internal" href="#module-base64" title="base64: RFC 3548: Base16, Base32, Base64 Data Encodings; Base85 and Ascii85"><code class="xref py py-mod docutils literal notranslate"><span class="pre">base64</span></code></a> --- Base16, Base32, Base64, Base85 数据编码<a class="headerlink" href="#module-base64" title="永久链接至标题">¶</a></h1>
|
||
<p><strong>源代码:</strong> <a class="reference external" href="https://github.com/python/cpython/tree/3.8/Lib/base64.py">Lib/base64.py</a></p>
|
||
<hr class="docutils" id="index-0" />
|
||
<p>此模块提供了将二进制数据编码为可打印的 ASCII 字符以及将这些编码解码回二进制数据的函数。它为 <span class="target" id="index-19"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc3548.html"><strong>RFC 3548</strong></a> 指定的 Base16, Base32 和 Base64 编码以及已被广泛接受的 Ascii85 和 Base85 编码提供了编码和解码函数。</p>
|
||
<p><span class="target" id="index-20"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc3548.html"><strong>RFC 3548</strong></a> 编码的目的是使得二进制数据可以作为电子邮件的内容正确地发送,用作 URL 的一部分,或者作为 HTTP POST 请求的一部分。其中的编码算法和 <strong class="program">uuencode</strong> 程序是不同的。</p>
|
||
<p>此模块提供了两个接口。新的接口提供了从 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">类字节对象</span></a> 到 ASCII 字节 <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> 的编码,以及将 ASCII 的 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">类字节对象</span></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> 的操作。此模块支持定义在 <span class="target" id="index-21"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc3548.html"><strong>RFC 3548</strong></a> 中的所有 base-64 字母表 (普通的、URL 安全的和文件系统安全的)。</p>
|
||
<p>旧的接口不提供从字符串的解码操作,但提供了操作 <a class="reference internal" href="../glossary.html#term-file-object"><span class="xref std std-term">文件对象</span></a> 的编码和解码函数。旧接口只支持标准的 Base64 字母表,并且按照 <span class="target" id="index-22"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2045.html"><strong>RFC 2045</strong></a> 的规范每 76 个字符增加一个换行符。注意:如果你需要支持 <span class="target" id="index-23"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2045.html"><strong>RFC 2045</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> 模块可能更加合适。</p>
|
||
<div class="versionchanged">
|
||
<p><span class="versionmodified changed">在 3.3 版更改: </span>新的接口提供的解码函数现在已经支持只包含 ASCII 的 Unicode 字符串。</p>
|
||
</div>
|
||
<div class="versionchanged">
|
||
<p><span class="versionmodified changed">在 3.4 版更改: </span>所有 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">类字节对象</span></a> 现在已经被所有编码和解码函数接受。添加了对 Ascii85/Base85 的支持。</p>
|
||
</div>
|
||
<p>新的接口提供:</p>
|
||
<dl class="function">
|
||
<dt id="base64.b64encode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">b64encode</code><span class="sig-paren">(</span><em class="sig-param">s</em>, <em class="sig-param">altchars=None</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.b64encode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>对 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> <em>s</em> 进行 Base64 编码,并返回编码后的 <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>。</p>
|
||
<p>可选项 <em>altchars</em> 必须是一个长 2 字节的 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a>,它指定了用于替换 <code class="docutils literal notranslate"><span class="pre">+</span></code> 和 <code class="docutils literal notranslate"><span class="pre">/</span></code> 的字符。这允许应用程序生成 URL 或文件系统安全的 Base64 字符串。默认值是 <code class="docutils literal notranslate"><span class="pre">None</span></code>,使用标准 Base64 字母表。</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.b64decode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">b64decode</code><span class="sig-paren">(</span><em class="sig-param">s</em>, <em class="sig-param">altchars=None</em>, <em class="sig-param">validate=False</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.b64decode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>解码 Base64 编码过的 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> 或 ASCII 字符串 <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>。</p>
|
||
<p>可选项 <em>altchars</em> 必须是一个长 2 字节的 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a>,它指定了用于替换 <code class="docutils literal notranslate"><span class="pre">+</span></code> 和 <code class="docutils literal notranslate"><span class="pre">/</span></code> 的字符。</p>
|
||
<p>如果 <em>s</em> 被不正确地填写,一个 <a class="reference internal" href="binascii.html#binascii.Error" title="binascii.Error"><code class="xref py py-exc docutils literal notranslate"><span class="pre">binascii.Error</span></code></a> 错误将被抛出。</p>
|
||
<p>如果 <em>validate</em> 值为 <code class="docutils literal notranslate"><span class="pre">False</span></code> (默认情况),则在填充检查前,将丢弃既不在标准 base-64 字母表之中也不在备用字母表中的字符。如果 <em>validate</em> 为 <code class="docutils literal notranslate"><span class="pre">True</span></code>,这些非 base64 字符将导致 <a class="reference internal" href="binascii.html#binascii.Error" title="binascii.Error"><code class="xref py py-exc docutils literal notranslate"><span class="pre">binascii.Error</span></code></a>。</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.standard_b64encode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">standard_b64encode</code><span class="sig-paren">(</span><em class="sig-param">s</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.standard_b64encode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>编码 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> <em>s</em>,使用标准 Base64 字母表并返回编码过的 <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>。</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.standard_b64decode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">standard_b64decode</code><span class="sig-paren">(</span><em class="sig-param">s</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.standard_b64decode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>解码 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> 或 ASCII 字符串 <em>s</em>,使用标准 Base64 字母表并返回编码过的 <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>。</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.urlsafe_b64encode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">urlsafe_b64encode</code><span class="sig-paren">(</span><em class="sig-param">s</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.urlsafe_b64encode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>编码 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> <em>s</em>,使用 URL 与文件系统安全的字母表,使用 <code class="docutils literal notranslate"><span class="pre">-</span></code> 以及 <code class="docutils literal notranslate"><span class="pre">_</span></code> 代替标准 Base64 字母表中的 <code class="docutils literal notranslate"><span class="pre">+</span></code> 和 <code class="docutils literal notranslate"><span class="pre">/</span></code>。返回编码过的 <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>。结果中可能包含 <code class="docutils literal notranslate"><span class="pre">=</span></code>。</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.urlsafe_b64decode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">urlsafe_b64decode</code><span class="sig-paren">(</span><em class="sig-param">s</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.urlsafe_b64decode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>解码 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> 或 ASCII 字符串 <em>s</em>,使用 URL 与文件系统安全的字母表,使用 <code class="docutils literal notranslate"><span class="pre">-</span></code> 以及 <code class="docutils literal notranslate"><span class="pre">_</span></code> 代替标准 Base64 字母表中的 <code class="docutils literal notranslate"><span class="pre">+</span></code> 和 <code class="docutils literal notranslate"><span class="pre">/</span></code>。返回解码过的 <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></p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.b32encode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">b32encode</code><span class="sig-paren">(</span><em class="sig-param">s</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.b32encode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>用 Base32 编码 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></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></p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.b32decode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">b32decode</code><span class="sig-paren">(</span><em class="sig-param">s</em>, <em class="sig-param">casefold=False</em>, <em class="sig-param">map01=None</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.b32decode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>解码 Base32 编码过的 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> 或 ASCII 字符串 <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>。</p>
|
||
<p>可选的 <em>casefold</em> 是一个指定小写字幕是否可接受为输入的标志。为了安全考虑,默认值为 <code class="docutils literal notranslate"><span class="pre">False</span></code>。</p>
|
||
<p><span class="target" id="index-24"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc3548.html"><strong>RFC 3548</strong></a> 允许将字母 0(zero) 映射为字母 O(oh),并可以选择是否将字母 1(one) 映射为 I(eye) 或 L(el)。可选参数 <em>map01</em> 不是 <code class="docutils literal notranslate"><span class="pre">None</span></code> 时,它的值指定 1 的映射目标 (I 或 l),当 <em>map01</em> 非 <code class="docutils literal notranslate"><span class="pre">None</span></code> 时, 0 总是被映射为 O。为了安全考虑,默认值被设为 <code class="docutils literal notranslate"><span class="pre">None</span></code>,如果是这样, 0 和 1 不允许被作为输入。</p>
|
||
<p>如果 <em>s</em> 被错误地填写或输入中存在字母表之外的字符,将抛出 <a class="reference internal" href="binascii.html#binascii.Error" title="binascii.Error"><code class="xref py py-exc docutils literal notranslate"><span class="pre">binascii.Error</span></code></a>。</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.b16encode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">b16encode</code><span class="sig-paren">(</span><em class="sig-param">s</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.b16encode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>用 Base16 编码 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></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></p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.b16decode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">b16decode</code><span class="sig-paren">(</span><em class="sig-param">s</em>, <em class="sig-param">casefold=False</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.b16decode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>解码 Base16 编码过的 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> 或 ASCII 字符串 <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>。</p>
|
||
<p>可选的 <em>casefold</em> 是一个指定小写字幕是否可接受为输入的标志。为了安全考虑,默认值为 <code class="docutils literal notranslate"><span class="pre">False</span></code>。</p>
|
||
<p>如果 <em>s</em> 被错误地填写或输入中存在字母表之外的字符,将抛出 <a class="reference internal" href="binascii.html#binascii.Error" title="binascii.Error"><code class="xref py py-exc docutils literal notranslate"><span class="pre">binascii.Error</span></code></a>。</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.a85encode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">a85encode</code><span class="sig-paren">(</span><em class="sig-param">b</em>, <em class="sig-param">*</em>, <em class="sig-param">foldspaces=False</em>, <em class="sig-param">wrapcol=0</em>, <em class="sig-param">pad=False</em>, <em class="sig-param">adobe=False</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.a85encode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>用 Ascii85 编码 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></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></p>
|
||
<p><em>foldspaces</em> 是一个可选的标志,使用特殊的短序列 'y' 代替 'btoa' 提供的 4 个连续空格 (ASCII 0x20)。这个特性不被 "标准" Ascii85 编码支持。</p>
|
||
<p><em>wrapcol</em> 控制了输出是否包含换行符 (<code class="docutils literal notranslate"><span class="pre">b'\n'</span></code>). 如果该值非零, 则每一行只有该值所限制的字符长度.</p>
|
||
<p><em>pad</em> 控制在编码之前输入是否填充为4的倍数。请注意,<code class="docutils literal notranslate"><span class="pre">btoa</span></code> 实现总是填充。</p>
|
||
<p><em>adobe</em> 控制编码后的字节序列是否要加上 <code class="docutils literal notranslate"><span class="pre"><~</span></code> 和 <code class="docutils literal notranslate"><span class="pre">~></span></code>,这是 Adobe 实现所使用的。</p>
|
||
<div class="versionadded">
|
||
<p><span class="versionmodified added">3.4 新版功能.</span></p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.a85decode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">a85decode</code><span class="sig-paren">(</span><em class="sig-param">b</em>, <em class="sig-param">*</em>, <em class="sig-param">foldspaces=False</em>, <em class="sig-param">adobe=False</em>, <em class="sig-param">ignorechars=b' \t\n\r\v'</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.a85decode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>解码 Ascii85 编码过的 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> 或 ASCII 字符串 <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>。</p>
|
||
<p><em>foldspaces</em> 旗标指明是否应接受 'y' 短序列作为 4 个连续空格 (ASCII 0x20) 的快捷方式。 此特性不被 "标准" Ascii85 编码格式所支持。</p>
|
||
<p><em>adobe</em> 控制输入序列是否为 Adobe Ascii85 格式 (即附加 <~ 和 ~>)。</p>
|
||
<p><em>ignorechars</em> 应当是一个 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> 或 ASCII 字符串,其中包含要从输入中忽略的字符。 这应当只包含空白字符,并且默认包含 ASCII 中所有的空白字符。</p>
|
||
<div class="versionadded">
|
||
<p><span class="versionmodified added">3.4 新版功能.</span></p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.b85encode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">b85encode</code><span class="sig-paren">(</span><em class="sig-param">b</em>, <em class="sig-param">pad=False</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.b85encode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>用 base85(如 git 风格的二进制 diff 数据所用格式)编码 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> <em>b</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>。</p>
|
||
<p>如果 <em>pad</em> 为真值,输入将以 <code class="docutils literal notranslate"><span class="pre">b'\0'</span></code> 填充以使其编码前长度为 4 字节的倍数。</p>
|
||
<div class="versionadded">
|
||
<p><span class="versionmodified added">3.4 新版功能.</span></p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.b85decode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">b85decode</code><span class="sig-paren">(</span><em class="sig-param">b</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.b85decode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>解码 base85 编码过的 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> 或 ASCII 字符串 <em>b</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>。 如有必要,填充会被隐式地移除。</p>
|
||
<div class="versionadded">
|
||
<p><span class="versionmodified added">3.4 新版功能.</span></p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<p>旧式接口:</p>
|
||
<dl class="function">
|
||
<dt id="base64.decode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">decode</code><span class="sig-paren">(</span><em class="sig-param">input</em>, <em class="sig-param">output</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.decode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>解码二进制 <em>input</em> 文件的内容并将结果二进制数据写入 <em>output</em> 文件。 <em>input</em> 和 <em>output</em> 必须为 <a class="reference internal" href="../glossary.html#term-file-object"><span class="xref std std-term">文件对象</span></a>. <em>input</em> 将被读取直至 <code class="docutils literal notranslate"><span class="pre">input.readline()</span></code> 返回空字节串对象。</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.decodebytes">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">decodebytes</code><span class="sig-paren">(</span><em class="sig-param">s</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.decodebytes" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>解码 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> <em>s</em>,该对象必须包含一行或多行 base64 编码的数据,并返回已解码的 <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>。</p>
|
||
<div class="versionadded">
|
||
<p><span class="versionmodified added">3.1 新版功能.</span></p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.decodestring">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">decodestring</code><span class="sig-paren">(</span><em class="sig-param">s</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.decodestring" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>已弃用的 <a class="reference internal" href="#base64.decodebytes" title="base64.decodebytes"><code class="xref py py-func docutils literal notranslate"><span class="pre">decodebytes()</span></code></a> 的别名。</p>
|
||
<div class="deprecated">
|
||
<p><span class="versionmodified deprecated">3.1 版后已移除.</span></p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.encode">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">encode</code><span class="sig-paren">(</span><em class="sig-param">input</em>, <em class="sig-param">output</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.encode" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>编码二进制 <em>input</em> 文件的内容并将经 base64 编码的数据写入 <em>output</em> 文件。 <em>input</em> 和 <em>output</em> 必须为 <a class="reference internal" href="../glossary.html#term-file-object"><span class="xref std std-term">文件对象</span></a>。 <em>input</em> 将被读取直到 <code class="docutils literal notranslate"><span class="pre">input.read()</span></code> 返回空字节串对象。 <a class="reference internal" href="#base64.encode" title="base64.encode"><code class="xref py py-func docutils literal notranslate"><span class="pre">encode()</span></code></a> 会在每输出 76 个字节之后插入一个换行符 (<code class="docutils literal notranslate"><span class="pre">b'\n'</span></code>),并会确保输出总是以换行符来结束,如 <span class="target" id="index-25"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2045.html"><strong>RFC 2045</strong></a> (MIME) 所规定的那样。</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.encodebytes">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">encodebytes</code><span class="sig-paren">(</span><em class="sig-param">s</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.encodebytes" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>编码 <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a> <em>s</em>,其中可以包含任意二进制数据,并返回包含经 base64 编码数据的 <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>,每输出 76 个字节之后将带一个换行符 (<code class="docutils literal notranslate"><span class="pre">b'\n'</span></code>),并会确保在末尾也有一个换行符,如 <span class="target" id="index-26"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc2045.html"><strong>RFC 2045</strong></a> (MIME) 所规定的那样。</p>
|
||
<div class="versionadded">
|
||
<p><span class="versionmodified added">3.1 新版功能.</span></p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="base64.encodestring">
|
||
<code class="sig-prename descclassname">base64.</code><code class="sig-name descname">encodestring</code><span class="sig-paren">(</span><em class="sig-param">s</em><span class="sig-paren">)</span><a class="headerlink" href="#base64.encodestring" title="永久链接至目标">¶</a></dt>
|
||
<dd><p>一个被弃用的 <a class="reference internal" href="#base64.encodebytes" title="base64.encodebytes"><code class="xref py py-func docutils literal notranslate"><span class="pre">encodebytes()</span></code></a> 的别名。</p>
|
||
<div class="deprecated">
|
||
<p><span class="versionmodified deprecated">3.1 版后已移除.</span></p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<p>此模块的一个使用示例:</p>
|
||
<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">base64</span>
|
||
<span class="gp">>>> </span><span class="n">encoded</span> <span class="o">=</span> <span class="n">base64</span><span class="o">.</span><span class="n">b64encode</span><span class="p">(</span><span class="sa">b</span><span class="s1">'data to be encoded'</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">encoded</span>
|
||
<span class="go">b'ZGF0YSB0byBiZSBlbmNvZGVk'</span>
|
||
<span class="gp">>>> </span><span class="n">data</span> <span class="o">=</span> <span class="n">base64</span><span class="o">.</span><span class="n">b64decode</span><span class="p">(</span><span class="n">encoded</span><span class="p">)</span>
|
||
<span class="gp">>>> </span><span class="n">data</span>
|
||
<span class="go">b'data to be encoded'</span>
|
||
</pre></div>
|
||
</div>
|
||
<div class="admonition seealso">
|
||
<p class="admonition-title">参见</p>
|
||
<dl class="simple">
|
||
<dt>模块 <a class="reference internal" href="binascii.html#module-binascii" title="binascii: Tools for converting between binary and various ASCII-encoded binary representations."><code class="xref py py-mod docutils literal notranslate"><span class="pre">binascii</span></code></a></dt><dd><p>支持模块,包含ASCII到二进制和二进制到ASCII转换。</p>
|
||
</dd>
|
||
<dt><span class="target" id="index-27"></span><a class="rfc reference external" href="https://tools.ietf.org/html/rfc1521.html"><strong>RFC 1521</strong></a> - MIME (Multipurpose Internet Mail Extensions) 第一部分:规定并描述因特网消息体的格式的机制。</dt><dd><p>第 5.2 节,“Base64 内容转换编码格式” 提供了 base64 编码格式的定义。</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</section>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<h4>上一个主题</h4>
|
||
<p class="topless"><a href="mimetypes.html"
|
||
title="上一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">mimetypes</span></code> --- 映射文件夹到 MIME 类型</a></p>
|
||
<h4>下一个主题</h4>
|
||
<p class="topless"><a href="binhex.html"
|
||
title="下一章"><code class="xref py py-mod docutils literal notranslate"><span class="pre">binhex</span></code> --- 对binhex4文件进行编码和解码</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/base64.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="binhex.html" title="binhex --- 对binhex4文件进行编码和解码"
|
||
>下一页</a> |</li>
|
||
<li class="right" >
|
||
<a href="mimetypes.html" title="mimetypes --- 映射文件夹到 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="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> |