![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как преобразовать юникод строку «%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;