<p>为了从<a href="https://docs.python.org/3/library/functions.html#func-bytes" rel="nofollow noreferrer">^{<cd2>}</a>对象获得<a href="https://docs.python.org/3/library/functions.html#func-str" rel="nofollow noreferrer">^{<cd1>}</a>,首先需要使用<a href="https://docs.python.org/3/library/stdtypes.html#bytes.decode" rel="nofollow noreferrer">^{<cd4>}</a>函数对<a href="https://docs.python.org/3/library/functions.html#func-bytes" rel="nofollow noreferrer">^{<cd2>}</a>对象进行解码,如下所示:</p>
<pre><code>>>> my_bytes = b'6016.0000'
>>> my_str = my_bytes.decode()
# where `my_str` holds the string value `'6016.0000'`
</code></pre>
<p>或者,在将bytes对象类型转换为string时传递<a href="https://docs.python.org/3/library/stdtypes.html#str" rel="nofollow noreferrer">^{<cd5>}</a>参数可能会得到相同的结果:</p>
^{pr2}$
<p>正如<a href="https://docs.python.org/3/library/stdtypes.html#str" rel="nofollow noreferrer">Python's ^{<cd1>} document</a>所说:</p>
<blockquote>
<p>if object is a <a href="https://docs.python.org/3/library/stdtypes.html#bytes" rel="nofollow noreferrer"><code>bytes</code></a> (or <a href="https://docs.python.org/3/library/stdtypes.html#bytearray" rel="nofollow noreferrer"><code>bytearray</code></a>) object, then <a href="https://docs.python.org/3/library/stdtypes.html#str" rel="nofollow noreferrer"><code>str(bytes, encoding, errors)</code></a> is equivalent to <a href="https://docs.python.org/3/library/stdtypes.html#bytes.decode" rel="nofollow noreferrer"><code>bytes.decode(encoding, errors)</code></a></p>
</blockquote>
<p>然后,为了将数字字符串<code>my_str</code>类型转换为<a href="https://docs.python.org/3.0/library/decimal.html#decimal.Decimal" rel="nofollow noreferrer">^{<cd8>}</a>,只需执行以下操作:</p>
<pre><code>>>> from decimal import Decimal
>>> Decimal(my_str)
Decimal('6016.0000')
</code></pre>
<hr/>
<p>在您的代码中,当您使用<a href="https://docs.python.org/3/library/functions.html#func-str" rel="nofollow noreferrer">^{<cd9>}</a>而不使用<code>encoding</code>参数键入casted bytes对象时,它将返回一个新的字符串,其开头有<code>b'...'</code>,如下所示:</p>
<pre><code>>>> str(my_bytes)
"b'6016.0000'"
</code></pre>
<p>此行为也在<a href="https://docs.python.org/3/library/stdtypes.html#str" rel="nofollow noreferrer">Python's ^{<cd1>} document</a>中提到:</p>
<blockquote>
<p>Passing a <a href="https://docs.python.org/3/library/stdtypes.html#bytes" rel="nofollow noreferrer"><code>bytes</code></a> object to <a href="https://docs.python.org/3/library/stdtypes.html#str" rel="nofollow noreferrer"><code>str()</code></a> without the encoding or errors arguments falls under the first case of returning the informal string representation (see also the <a href="https://docs.python.org/3/using/cmdline.html#cmdoption-b" rel="nofollow noreferrer"><code>-b</code> command-line option</a> to Python). </p>
</blockquote>