b64enc.pp 649 B

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