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