質問

WindowsでPythonを使用してpng画像をbase64にエンコードするにはどうすればよいですか

iconfile = open("icon.png")
icondata = iconfile.read()
icondata = base64.b64encode(icondata)

上記はLinuxおよびOSXで正常に機能しますが、Windowsでは最初の数文字をエンコードしてから短縮します。これはなぜですか?

他のヒント

Milesからの回答を増やすために、 PNGファイルの最初の8バイトは特別に設計されています:

  • 89-最初のバイトはチェックです ビット8は取り除かれていません
  • " PNG" -誰かにそれが PNG形式
  • 0d 0a-DOSの行末 インジケータ、あったかどうかを確認する DOS-> unix変換
  • 1a-DOSのファイルの終わり文字、 ファイルが開かれたことを確認するには バイナリモード
  • 0a-UNIXの行末文字、 UNIX-> DOSがあったかどうかを確認します 変換

設計どおり、コードは1aで停止します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top