Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как преобразовать юникод строку «%D0%9C%» в читаемые символы?


Kolan ©   (2007-02-22 20:10:00) 

Из википедии до конца не понял как это сделать. Может есть встроеная функция?


Kolan   (2007-02-23 10:09:00) [1]

Благодарю. Ты вообще два дела сделал :)
1. По юникод помог
2. А еще StrToInt('$'+s[i+1]+s[i+2]));,
а я дурак пользовался:

function HexToInt(Hex: string): Longint;
var
 I: Integer;
begin
 Result := 0;
 for I := 1 to Length(Hex) do
 begin
   Result := Result shl 4;
   if Hex[I] in ['0'…'9'] then
     Result := Result + (Byte(Hex[I]) — 48)
   else
     if (Hex[I] in ['A'…'F']) or (Hex[I] in ['a'…'f']) then
       Result := Result + (Byte(Hex[I]) — 55)
     else
     begin
       Result := 0;
       Break;
     end;
 end;
end;


Palladin   (2007-02-23 09:54:00) [2]

ага

Function Decode(Const s:String):String;
Var
i:integer;
Begin
Result:=''; i:=1;
While i<=Length(s) Do
 Begin
  If s[i]<>'%' Then Result:=Result+s[i] Else
   Begin
    Try
     Result:=Result+Chr(StrToInt('$'+s[i+1]+s[i+2]));
    Except
    End;
    Inc(i,2);
   End;
  Inc(i);
 End;
Result:=Utf8ToAnsi(Result);
End;


Наверх

Титульная страница Поиск, карта сайта Написать письмо