![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как закодировать строчку в URL-кодированную. [D7, WinXP]
Зигмунд © (2005-01-30 11:53:00)Здравствуйте, Мастера!
Может в Delphi есть аналог функции в PHP – rawurlencode?
Anatoly Podgoretsky (2005-01-30 12:33:00) [1]Это не относится к Интернет. Вопрос про ICS, Indy, NetManage, NetMastes и т.д. В Д7 базовый Indy, там есть UrlEncode
Зигмунд (2005-01-30 12:25:00) [2]2SergP Спасибо!
2Anatoly Podgoretsky - Компонент TClientSocket.
SergP (2005-01-30 12:16:00) [3]Можно попроще:
function WebCode(const Src: String): String;
var
i:integer;
begin
result:='';
for i:=1 to length(Src) do Result:=Result+'%'+IntToHex(Ord(Src[i]),2);
end;
Но на больших строках будет медленнее работать
Anatoly Podgoretsky (2005-01-30 12:15:00) [4]Смотря какие компоненты для работы с Интернет используешь, в большинствве есть.
SergP (2005-01-30 12:12:00) [5]
> Может в Delphi есть аналог функции в PHP – rawurlencode?
Не знаю или есть но я писал сам:
function WebCode(const Src: String): String;
var
EndLen,i: Integer;
s: String;
begin
EndLen:=0;
SetLength(Result,Length(Src)*3);
for i := 1 to Length(Src) do
begin
inc (EndLen);
If Src[i] in ['0'..'9','A'..'Z','a'..'z']
then Result[EndLen]:=Src[i]
else begin
Result[EndLen] := '%';
s := IntToHex(Ord(Src[i]),2);
Move(s[1],Result[EndLen+1],2);
inc (EndLen,2);
end;
end;
SetLength(Result,EndLen);
end;
Зигмунд (2005-01-30 11:59:00) [6]Например: Привет! в %CF%F0%E8%E2%E5%F2%21