Re[2]: отвечаю сам себе
От: alxn1 Россия  
Дата: 20.05.10 12:06
Оценка: 1 (1)
Здравствуйте, artemu78, Вы писали:

A>function GetURIEncodedString(original : string): string;

A>var
A> i : integer;
A> CurrentCharOfString : UTF8String;
A>begin
A> result := '';
A> //цикл по оригинальной строке
A> for i:=1 to length(original) do
A> begin
A> //каждый символ кодируем в UTF8
A> CurrentCharOfString := UTF8Encode(original[i]);
A> //берём первый символ, получаем его ASCII код и переводим в шестнадцатиричный формат и ставим в начале символ %, также со вторым символом
A> result := result + '%' + IntToHex(Ord(CurrentCharOfString[1]),2) + '%' + IntToHex(Ord(CurrentCharOfString[2]),2);
A> end;
A>end;

А почему считается, что в UTF8 символ 2 байта занимает? Это ни разу не правильно. UTF8 символ может занимать от 1-го до 6-ти байт.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.