Показать сообщение отдельно
  #4  
Старый 10.09.2011, 21:52
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Какие проблемы? Сам же ссылку дал.
Цитата: "Такое преобразование происходит в два этапа: сначала каждый символ кириллицы кодируется в Юникоде (UTF-8) в последовательность из двух байтов, а затем каждый байт этой последовательности записывается в шестнадцатеричном представлении".
Код:
function CharInSet(C: AnsiChar; const CharSet: TSysCharSet): Boolean;
begin
  Result := C in CharSet;
end;

function URLEncode(const Url: Utf8String): string;
var
I: Integer;
begin
  Result := '';
  for I := 1 to Length(Url) do begin
    if CharInSet(Url[i], ['A'..'Z', 'a'..'z', '0'..'9', '-', '=', '&', ':', '/', '?', ';', '_']) then
      Result := Result + Utf8ToAnsi(Url[i])
    else
      Result := Result + '%' + IntToHex(Ord(Url[i]), 2);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(URLEncode('Вот текст для perevoda 123789'));
end;
__________________
Помогаю за Спасибо
Ответить с цитированием