バイナリ→Base64エンコーディング→バイナリ

f = File.open("Firefoxでもっと便利に使おう - はてな.png")

#バイナリ→Base64エンコーディング
base64_text = [f.read].pack('m')

File.open("fuga.png", "wb") do |f|
  #Base64エンコーディング→バイナリ
  f.write(base64_text.unpack('m')[0])
end