擅长:python、mysql、java
<p>@Joni的答案是问题的根源,但是如果您使用<code>codecs.open</code>,它总是以二进制模式打开,即使没有指定。使用<code>utf16</code>编解码器也会自动使用本机尾数写入BOM:</p>
<pre><code>import codecs
with codecs.open('temp.txt','w','utf16') as temp:
temp.write(u'\u810a')
</code></pre>
<p><code>temp.txt</code>的十六进制转储:</p>
^{pr2}$
<p>参考号:<a href="http://docs.python.org/3/library/codecs.html?highlight=codecs.open#codecs.open" rel="nofollow">codecs.open</a></p>