[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@13.59.92.139: ~ $

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Codec registry and support functions &mdash; Python 2.7.5 documentation</title>
    
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '2.7.5',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    <link rel="search" type="application/opensearchdescription+xml"
          title="Search within Python 2.7.5 documentation"
          href="../_static/opensearch.xml"/>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="copyright" title="Copyright" href="../copyright.html" />
    <link rel="top" title="Python 2.7.5 documentation" href="../index.html" />
    <link rel="up" title="Utilities" href="utilities.html" />
    <link rel="next" title="Abstract Objects Layer" href="abstract.html" />
    <link rel="prev" title="Reflection" href="reflection.html" />
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
    <script type="text/javascript" src="../_static/copybutton.js"></script>
    
 

  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="abstract.html" title="Abstract Objects Layer"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="reflection.html" title="Reflection"
             accesskey="P">previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="http://www.python.org/">Python</a> &raquo;</li>
        <li>
          <a href="../index.html">Python 2.7.5 documentation</a> &raquo;
        </li>

          <li><a href="index.html" >Python/C API Reference Manual</a> &raquo;</li>
          <li><a href="utilities.html" accesskey="U">Utilities</a> &raquo;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="codec-registry-and-support-functions">
<span id="codec-registry"></span><h1>Codec registry and support functions<a class="headerlink" href="#codec-registry-and-support-functions" title="Permalink to this headline">¶</a></h1>
<dl class="function">
<dt id="PyCodec_Register">
int <tt class="descname">PyCodec_Register</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*search_function</em><big>)</big><a class="headerlink" href="#PyCodec_Register" title="Permalink to this definition">¶</a></dt>
<dd><p>Register a new codec search function.</p>
<p>As side effect, this tries to load the <tt class="xref py py-mod docutils literal"><span class="pre">encodings</span></tt> package, if not yet
done, to make sure that it is always first in the list of search functions.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_KnownEncoding">
int <tt class="descname">PyCodec_KnownEncoding</tt><big>(</big>const char<em>&nbsp;*encoding</em><big>)</big><a class="headerlink" href="#PyCodec_KnownEncoding" title="Permalink to this definition">¶</a></dt>
<dd><p>Return <tt class="docutils literal"><span class="pre">1</span></tt> or <tt class="docutils literal"><span class="pre">0</span></tt> depending on whether there is a registered codec for
the given <em>encoding</em>.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_Encode">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_Encode</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*object</em>, const char<em>&nbsp;*encoding</em>, const char<em>&nbsp;*errors</em><big>)</big><a class="headerlink" href="#PyCodec_Encode" title="Permalink to this definition">¶</a></dt>
<dd><p>Generic codec based encoding API.</p>
<p><em>object</em> is passed through the encoder function found for the given
<em>encoding</em> using the error handling method defined by <em>errors</em>.  <em>errors</em> may
be <em>NULL</em> to use the default method defined for the codec.  Raises a
<a class="reference internal" href="../library/exceptions.html#exceptions.LookupError" title="exceptions.LookupError"><tt class="xref py py-exc docutils literal"><span class="pre">LookupError</span></tt></a> if no encoder can be found.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_Decode">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_Decode</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*object</em>, const char<em>&nbsp;*encoding</em>, const char<em>&nbsp;*errors</em><big>)</big><a class="headerlink" href="#PyCodec_Decode" title="Permalink to this definition">¶</a></dt>
<dd><p>Generic codec based decoding API.</p>
<p><em>object</em> is passed through the decoder function found for the given
<em>encoding</em> using the error handling method defined by <em>errors</em>.  <em>errors</em> may
be <em>NULL</em> to use the default method defined for the codec.  Raises a
<a class="reference internal" href="../library/exceptions.html#exceptions.LookupError" title="exceptions.LookupError"><tt class="xref py py-exc docutils literal"><span class="pre">LookupError</span></tt></a> if no encoder can be found.</p>
</dd></dl>

<div class="section" id="codec-lookup-api">
<h2>Codec lookup API<a class="headerlink" href="#codec-lookup-api" title="Permalink to this headline">¶</a></h2>
<p>In the following functions, the <em>encoding</em> string is looked up converted to all
lower-case characters, which makes encodings looked up through this mechanism
effectively case-insensitive.  If no codec is found, a <a class="reference internal" href="../library/exceptions.html#exceptions.KeyError" title="exceptions.KeyError"><tt class="xref py py-exc docutils literal"><span class="pre">KeyError</span></tt></a> is set
and <em>NULL</em> returned.</p>
<dl class="function">
<dt id="PyCodec_Encoder">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_Encoder</tt><big>(</big>const char<em>&nbsp;*encoding</em><big>)</big><a class="headerlink" href="#PyCodec_Encoder" title="Permalink to this definition">¶</a></dt>
<dd><p>Get an encoder function for the given <em>encoding</em>.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_Decoder">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_Decoder</tt><big>(</big>const char<em>&nbsp;*encoding</em><big>)</big><a class="headerlink" href="#PyCodec_Decoder" title="Permalink to this definition">¶</a></dt>
<dd><p>Get a decoder function for the given <em>encoding</em>.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_IncrementalEncoder">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_IncrementalEncoder</tt><big>(</big>const char<em>&nbsp;*encoding</em>, const char<em>&nbsp;*errors</em><big>)</big><a class="headerlink" href="#PyCodec_IncrementalEncoder" title="Permalink to this definition">¶</a></dt>
<dd><p>Get an <tt class="xref py py-class docutils literal"><span class="pre">IncrementalEncoder</span></tt> object for the given <em>encoding</em>.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_IncrementalDecoder">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_IncrementalDecoder</tt><big>(</big>const char<em>&nbsp;*encoding</em>, const char<em>&nbsp;*errors</em><big>)</big><a class="headerlink" href="#PyCodec_IncrementalDecoder" title="Permalink to this definition">¶</a></dt>
<dd><p>Get an <tt class="xref py py-class docutils literal"><span class="pre">IncrementalDecoder</span></tt> object for the given <em>encoding</em>.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_StreamReader">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_StreamReader</tt><big>(</big>const char<em>&nbsp;*encoding</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*stream</em>, const char<em>&nbsp;*errors</em><big>)</big><a class="headerlink" href="#PyCodec_StreamReader" title="Permalink to this definition">¶</a></dt>
<dd><p>Get a <tt class="xref py py-class docutils literal"><span class="pre">StreamReader</span></tt> factory function for the given <em>encoding</em>.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_StreamWriter">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_StreamWriter</tt><big>(</big>const char<em>&nbsp;*encoding</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*stream</em>, const char<em>&nbsp;*errors</em><big>)</big><a class="headerlink" href="#PyCodec_StreamWriter" title="Permalink to this definition">¶</a></dt>
<dd><p>Get a <tt class="xref py py-class docutils literal"><span class="pre">StreamWriter</span></tt> factory function for the given <em>encoding</em>.</p>
</dd></dl>

</div>
<div class="section" id="registry-api-for-unicode-encoding-error-handlers">
<h2>Registry API for Unicode encoding error handlers<a class="headerlink" href="#registry-api-for-unicode-encoding-error-handlers" title="Permalink to this headline">¶</a></h2>
<dl class="function">
<dt id="PyCodec_RegisterError">
int <tt class="descname">PyCodec_RegisterError</tt><big>(</big>const char<em>&nbsp;*name</em>, <a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*error</em><big>)</big><a class="headerlink" href="#PyCodec_RegisterError" title="Permalink to this definition">¶</a></dt>
<dd><p>Register the error handling callback function <em>error</em> under the given <em>name</em>.
This callback function will be called by a codec when it encounters
unencodable characters/undecodable bytes and <em>name</em> is specified as the error
parameter in the call to the encode/decode function.</p>
<p>The callback gets a single argument, an instance of
<a class="reference internal" href="../library/exceptions.html#exceptions.UnicodeEncodeError" title="exceptions.UnicodeEncodeError"><tt class="xref py py-exc docutils literal"><span class="pre">UnicodeEncodeError</span></tt></a>, <a class="reference internal" href="../library/exceptions.html#exceptions.UnicodeDecodeError" title="exceptions.UnicodeDecodeError"><tt class="xref py py-exc docutils literal"><span class="pre">UnicodeDecodeError</span></tt></a> or
<a class="reference internal" href="../library/exceptions.html#exceptions.UnicodeTranslateError" title="exceptions.UnicodeTranslateError"><tt class="xref py py-exc docutils literal"><span class="pre">UnicodeTranslateError</span></tt></a> that holds information about the problematic
sequence of characters or bytes and their offset in the original string (see
<a class="reference internal" href="exceptions.html#unicodeexceptions"><em>Unicode Exception Objects</em></a> for functions to extract this information).  The
callback must either raise the given exception, or return a two-item tuple
containing the replacement for the problematic sequence, and an integer
giving the offset in the original string at which encoding/decoding should be
resumed.</p>
<p>Return <tt class="docutils literal"><span class="pre">0</span></tt> on success, <tt class="docutils literal"><span class="pre">-1</span></tt> on error.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_LookupError">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_LookupError</tt><big>(</big>const char<em>&nbsp;*name</em><big>)</big><a class="headerlink" href="#PyCodec_LookupError" title="Permalink to this definition">¶</a></dt>
<dd><p>Lookup the error handling callback function registered under <em>name</em>.  As a
special case <em>NULL</em> can be passed, in which case the error handling callback
for &#8220;strict&#8221; will be returned.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_StrictErrors">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_StrictErrors</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*exc</em><big>)</big><a class="headerlink" href="#PyCodec_StrictErrors" title="Permalink to this definition">¶</a></dt>
<dd><p>Raise <em>exc</em> as an exception.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_IgnoreErrors">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_IgnoreErrors</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*exc</em><big>)</big><a class="headerlink" href="#PyCodec_IgnoreErrors" title="Permalink to this definition">¶</a></dt>
<dd><p>Ignore the unicode error, skipping the faulty input.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_ReplaceErrors">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_ReplaceErrors</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*exc</em><big>)</big><a class="headerlink" href="#PyCodec_ReplaceErrors" title="Permalink to this definition">¶</a></dt>
<dd><p>Replace the unicode encode error with <tt class="docutils literal"><span class="pre">?</span></tt> or <tt class="docutils literal"><span class="pre">U+FFFD</span></tt>.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_XMLCharRefReplaceErrors">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_XMLCharRefReplaceErrors</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*exc</em><big>)</big><a class="headerlink" href="#PyCodec_XMLCharRefReplaceErrors" title="Permalink to this definition">¶</a></dt>
<dd><p>Replace the unicode encode error with XML character references.</p>
</dd></dl>

<dl class="function">
<dt id="PyCodec_BackslashReplaceErrors">
<a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a>* <tt class="descname">PyCodec_BackslashReplaceErrors</tt><big>(</big><a class="reference internal" href="structures.html#PyObject" title="PyObject">PyObject</a><em>&nbsp;*exc</em><big>)</big><a class="headerlink" href="#PyCodec_BackslashReplaceErrors" title="Permalink to this definition">¶</a></dt>
<dd><p>Replace the unicode encode error with backslash escapes (<tt class="docutils literal"><span class="pre">\x</span></tt>, <tt class="docutils literal"><span class="pre">\u</span></tt> and
<tt class="docutils literal"><span class="pre">\U</span></tt>).</p>
</dd></dl>

</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../contents.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Codec registry and support functions</a><ul>
<li><a class="reference internal" href="#codec-lookup-api">Codec lookup API</a></li>
<li><a class="reference internal" href="#registry-api-for-unicode-encoding-error-handlers">Registry API for Unicode encoding error handlers</a></li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="reflection.html"
                        title="previous chapter">Reflection</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="abstract.html"
                        title="next chapter">Abstract Objects Layer</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
  <li><a href="../bugs.html">Report a Bug</a></li>
  <li><a href="../_sources/c-api/codec.txt"
         rel="nofollow">Show Source</a></li>
</ul>

<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="abstract.html" title="Abstract Objects Layer"
             >next</a> |</li>
        <li class="right" >
          <a href="reflection.html" title="Reflection"
             >previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="http://www.python.org/">Python</a> &raquo;</li>
        <li>
          <a href="../index.html">Python 2.7.5 documentation</a> &raquo;
        </li>

          <li><a href="index.html" >Python/C API Reference Manual</a> &raquo;</li>
          <li><a href="utilities.html" >Utilities</a> &raquo;</li> 
      </ul>
    </div>
    <div class="footer">
    &copy; <a href="../copyright.html">Copyright</a> 1990-2019, Python Software Foundation.
    <br />
    The Python Software Foundation is a non-profit corporation.
    <a href="http://www.python.org/psf/donations/">Please donate.</a>
    <br />
    Last updated on Jul 03, 2019.
    <a href="../bugs.html">Found a bug</a>?
    <br />
    Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
    </div>

  </body>
</html>

Filemanager

Name Type Size Permission Actions
abstract.html File 7.09 KB 0644
allocation.html File 16.94 KB 0644
arg.html File 55.63 KB 0644
bool.html File 9.24 KB 0644
buffer.html File 43.94 KB 0644
bytearray.html File 13.03 KB 0644
capsule.html File 19.04 KB 0644
cell.html File 10.36 KB 0644
class.html File 10.48 KB 0644
cobject.html File 11.06 KB 0644
code.html File 10.79 KB 0644
codec.html File 18.94 KB 0644
complex.html File 19.01 KB 0644
concrete.html File 15.16 KB 0644
conversion.html File 20.98 KB 0644
datetime.html File 23.48 KB 0644
descriptor.html File 10.97 KB 0644
dict.html File 29.9 KB 0644
exceptions.html File 75.95 KB 0644
file.html File 21.85 KB 0644
float.html File 15.85 KB 0644
function.html File 13.16 KB 0644
gcsupport.html File 20.25 KB 0644
gen.html File 7.92 KB 0644
import.html File 32.45 KB 0644
index.html File 12.55 KB 0644
init.html File 96.34 KB 0644
int.html File 18.31 KB 0644
intro.html File 62.21 KB 0644
iter.html File 9.16 KB 0644
iterator.html File 10.9 KB 0644
list.html File 22.27 KB 0644
long.html File 31.93 KB 0644
mapping.html File 14.41 KB 0644
marshal.html File 14.77 KB 0644
memory.html File 23.17 KB 0644
method.html File 12.47 KB 0644
module.html File 15.33 KB 0644
none.html File 7.39 KB 0644
number.html File 43.95 KB 0644
objbuffer.html File 11.26 KB 0644
object.html File 51.97 KB 0644
objimpl.html File 6.9 KB 0644
refcounting.html File 11.86 KB 0644
reflection.html File 9.82 KB 0644
sequence.html File 28.3 KB 0644
set.html File 28.22 KB 0644
slice.html File 11.19 KB 0644
string.html File 33.52 KB 0644
structures.html File 30.79 KB 0644
sys.html File 19.18 KB 0644
tuple.html File 19.49 KB 0644
type.html File 12.86 KB 0644
typeobj.html File 150.06 KB 0644
unicode.html File 105.59 KB 0644
utilities.html File 7.23 KB 0644
veryhigh.html File 40.2 KB 0644
weakref.html File 12.48 KB 0644