2017-08-02 4 views

答えて

2

最初の方法は、

with open('test.html', 'wb') as f: 
    f.write(body) 

単にあなたがダウンロードしたバイナリデータを保存します。

with open('test2.html', 'w') as f: 
    f.write(body.decode('utf-8')) 

locale.getpreferredencoding(False)によって指定されるように、UnicodeテキストにそれらのUTF-8バイトをデコードすることを試みる、その後デフォルトのファイルエンコーディングにそれを再エンコードし、データがUTF-8であると想定第方法。したがって、データがの場合、すでに UTF-8は無駄にデコードして再エンコードします。 UTF-8でない場合は、それをデコードするために間違ったエンコードを指定します。ファイルにプレーン7ビットのASCIIデータしか含まれていない場合は正常に動作しますが、そうでない場合は間違った結果が出るか、またはUnicodeDecodeErrorを発生させます。

関連する問題