b64dec.pp 563 B

1234567891011121314151617181920212223242526272829
  1. // base64-decodes data from StdIn and writes the output to StdOut
  2. // (c) 1999 Sebastian Guenther
  3. {$MODE objfpc}
  4. program b64dec;
  5. uses classes, base64, sysutils;
  6. var
  7. b64decoder: TBase64DecodingStream;
  8. InputStream: TStream;
  9. IsEnd: Boolean;
  10. begin
  11. InputStream := THandleStream.Create(StdInputHandle);
  12. b64decoder := TBase64DecodingStream.Create(InputStream);
  13. IsEnd := False;
  14. while not IsEnd do
  15. try
  16. Write(Chr(b64decoder.ReadByte));
  17. except
  18. on e: EStreamError do IsEnd := True;
  19. end;
  20. b64decoder.Free;
  21. InputStream.Free;
  22. end.