2017-11-30 14 views
1

私は次の単純なコードを使用してpythonを使って同じ画像ファイルをエンコードしてデコードしようとしています。しかし、出力ファイルは入力ファイルよりも大きく、開くことができません。このコードの問題点は何ですか?PythonでバイナリファイルをBase64エンコード/デコードする方法は?

import base64 

with open("img.jpeg", "rb") as image_file: 
    encoded_string = base64.b64encode(image_file.read()) 

    decoded_string = base64.b64decode(encoded_string) 
    with open("test_img.jpeg", "w") as image_file2: 
     image_file2.write(decoded_string); 

オリジナルファイル:https://filebin.ca/3j6aIDlWEYdV/img.jpeg
結果ファイル:https://filebin.ca/3j6arBo85Lcg/test_img.jpeg

+1

このコードをローカルで実行すると、入力ファイルと同じ出力ファイルが作成されます。 **あなたは実行しているコードですか? – Mureinik

+0

はい、貼り付けたコードをコピーして、これを数回テストしました。私のpythonバージョンは2.7.13です。それは問題だろうか? –

+0

私は2.7.13も実行しています – Mureinik

答えて

1

"wb"への書き込みモードを変更してみてください。あなたのライティングと異なるフォーマットとしての読書。

関連する問題