mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 20:29:27 +02:00
43 lines
912 B
ObjectPascal
43 lines
912 B
ObjectPascal
{$MODE objfpc}
|
|
|
|
program b64test;
|
|
uses classes, base64, sysutils;
|
|
var
|
|
b64encoder: TBase64EncodingStream;
|
|
b64decoder: TBase64DecodingStream;
|
|
BaseStream: TStream;
|
|
i, j: Integer;
|
|
buf: array[1..23] of Char;
|
|
begin
|
|
BaseStream := TMemoryStream.Create;
|
|
|
|
WriteLn('Encoded Size / Decoded Size / Data:');
|
|
|
|
for i := 1 to 22 do begin
|
|
BaseStream.Position := 0;
|
|
|
|
b64encoder := TBase64EncodingStream.Create(BaseStream);
|
|
for j := 1 to i do
|
|
buf[j] := Chr(i - j + 65);
|
|
b64encoder.Write(buf, i);
|
|
Write(b64encoder.Size: 2, ' ');
|
|
b64encoder.Free;
|
|
|
|
BaseStream.Position := 0;
|
|
|
|
b64decoder := TBase64DecodingStream.Create(BaseStream);
|
|
Write(b64decoder.Size: 2, ' ');
|
|
b64decoder.Read(buf, i);
|
|
buf[i + 1] := #0;
|
|
WriteLn(buf);
|
|
b64decoder.Free;
|
|
end;
|
|
|
|
BaseStream.Free;
|
|
end.
|
|
$Log$
|
|
Revision 1.3 2002-09-07 15:15:28 peter
|
|
* old logs removed and tabs fixed
|
|
|
|
}
|