есть такой вариант:
function UrlEncode(const s: AnsiString): string;
var
I: integer;
begin
Result := '';
for i := 1 to Length(S) do
case S[i] of
'%', ' ', '&', '=', '@', '.', #13, #10, #128..#255: Result := Result + '%'
+ IntToHex(Ord(S[i]), 2);
else
Result :=...