b64.lua 671 B

12345678910111213141516171819
  1. -----------------------------------------------------------------------------
  2. -- Little program to convert to and from Base64
  3. -- LuaSocket sample files
  4. -- Author: Diego Nehab
  5. -----------------------------------------------------------------------------
  6. local ltn12 = require("ltn12")
  7. local mime = require("mime")
  8. local source = ltn12.source.file(io.stdin)
  9. local sink = ltn12.sink.file(io.stdout)
  10. local convert
  11. if arg and arg[1] == '-d' then
  12. convert = mime.decode("base64")
  13. else
  14. local base64 = mime.encode("base64")
  15. local wrap = mime.wrap()
  16. convert = ltn12.filter.chain(base64, wrap)
  17. end
  18. sink = ltn12.sink.chain(convert, sink)
  19. ltn12.pump.all(source, sink)