擅长:python、mysql、java
<p>在Python3中,<code>socket</code>上的<code>sendto</code>、<code>send</code>和<code>sendall</code>方法现在采用<code>bytes</code>对象,而不是{<cd6>}。为了修复代码中的这个问题,需要调用<code>.encode()</code>字符串,例如:</p>
<pre><code>client_socket.sendto(outputOFF_2.encode() , address)
</code></pre>
<p><strong>或</strong>在定义字节字符串文本时使用<em>字节字符串文本:</p>
^{pr2}$
<p>默认情况下,<code>s.encode()</code>将使用<code>utf8</code>对字符串(<code>s</code>)进行编码。可选编码可以作为参数提供,例如:<code>s.encode('ascii')</code>。在</p>
<p>还要记住,<code>recv</code>和<code>recvfrom</code>现在也将返回<code>bytes</code>,因此您可能需要<code>.decode()</code>它们(与<code>.encode</code>相同,<code>.decode</code>也将返回它们。在</p>