擅长:python、mysql、java
<p>Python有字节到字节的<a href="http://docs.python.org/dev/library/codecs.html#binary-transforms">standard codecs</a>,它们执行方便的转换,如带引号的可打印(适合7bits ascii)、base64(适合字母数字)、十六进制转义、gzip和bz2压缩。在Python 2中,您可以执行以下操作:</p>
<pre><code>b'foo'.encode('hex')
</code></pre>
<p>在Python 3中,<code>str.encode</code>/<code>bytes.decode</code>严格用于字节<;->;str转换。相反,您可以这样做,它可以在Python 2和Python 3中工作(<em>s/encode/decode/g</em>for the inverse):</p>
<pre><code>import codecs
codecs.getencoder('hex')(b'foo')[0]
</code></pre>
<p>从Python3.4开始,有一个不那么尴尬的选择:</p>
<pre><code>codecs.encode(b'foo', 'hex')
</code></pre>
<p>这些misc编解码器也可以在它们自己的模块(base64、zlib、bz2、uu、quopri、Binasci)中访问;API不太一致,但对于压缩编解码器,它提供了更多的控制。</p>