Lazarus Pascal
Lazarus Pascal
StringBuilder Encode
Demonstrates the Chilkat StringBuilder Encode method.Chilkat Lazarus Pascal Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.StringBuilder;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
s: string;
sb: TStringBuilder;
begin
s := 'The quick brown fox jumps over the lazy dog';
sb := TStringBuilder.Create;
sb.Append(s);
// output: The quick brown fox jumps over the lazy dog
WriteLn(sb.GetAsString());
sb.Encode('base64','utf-8');
// output: VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw==
WriteLn(sb.GetAsString());
sb.Decode('base64','utf-8');
// output: The quick brown fox jumps over the lazy dog
WriteLn(sb.GetAsString());
// Now encode to hex..
sb.Encode('hex','utf-8');
// output: 54686520717569636B2062726F776E20666F78206A756D7073206F76657220746865206C617A7920646F67
WriteLn(sb.GetAsString());
sb.Decode('hex','utf-8');
// URL encode
sb.Encode('url','utf-8');
WriteLn(sb.GetAsString());
sb.Decode('url','utf-8');
// base64url
sb.Encode('base64url','utf-8');
WriteLn(sb.GetAsString());
// other possible encodings include modbase64, base32, base58, quoted-printable, url_rfc1738, url_rfc2396, url_rfc3986, and fingerprint
sb.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.