Sample code for 30+ languages & platforms
Lazarus Pascal

URL Encoding and Decoding

Demonstrates URL encoding/decoding using the HTTP convenience methods.

Chilkat Lazarus Pascal Downloads

Lazarus Pascal
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.Http;

// ---------------------------------------------------------------------------

procedure RunDemo;
var
  http: THttp;
  s: string;
  encoded: string;
  decoded: string;

begin
  http := THttp.Create;

  s := 'Hello World! 100% sure.';

  encoded := http.UrlEncode(s);
  WriteLn('URL encoded: ' + encoded);

  //  Space → %20
  //  ! → %21
  //  % → %25

  decoded := http.UrlDecode(encoded);
  WriteLn('URL decoded: ' + decoded);

  //  Output:

  //  URL encoded: Hello%20World%21%20100%25%20sure.
  //  URL decoded: Hello World! 100% sure.


  http.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.