Subscribed unsubscribe Subscribe Subscribe

メールに添付されたWordドキュメントがテキストとして認識されてしまう

Python PC

去年も経験した覚えがある.どうやらこれはWordドキュメントのようなバイナリファイルがBase64エンコードされたままになっているのが原因のようだ.デコードすれば元に戻る.

import base64
org = open('original.doc')
s = base64.b64decode(org.read())
new = open('new.doc', 'wb')
new.write(s)
org.close()
new.close()

Rubyだとイテレータとブロックを使って

require 'base64';
open('original.doc') {|org|
   open('new.doc', 'w') {|new|
      new.write(Base64.decode64(org.read))
   }
}

こう書ける.綺麗だ.