Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизПерекодировка из &#xxxx; в удобочитаемый Найти похожие ветки
← →
demon © (2010-05-17 19:32) [0]При парсинге html наткнулся на строки, закодированные вот в таком виде &#xxxx;&#xxxx;&#xxxx; (где xxxx это цифра).
Помогите раскодировать...
← →
Юрий Зотов © (2010-05-17 22:15) [1]А что должно из этой строки получиться?
← →
RWolf © (2010-05-17 22:17) [2]как-то так:
strRes:="";
i:=1;
while i<=length(strDoc)-7 do begin
if Copy(strDoc,i,2)="&#" then begin
strRes:=strRes+chr(StrToInt("$"+Copy(strDoc,i+2,4)));
inc(i,6);
end
else strRes:=strRes+strDoc[i];
inc(i);
end;
← →
Игорь Шевченко © (2010-05-18 00:43) [3]
> При парсинге html наткнулся на строки, закодированные вот
> в таком виде &#xxxx;&#xxxx;&#xxxx; (где xxxx это цифра).
>
Это юникод
← →
Германн © (2010-05-18 01:03) [4]
> Игорь Шевченко © (18.05.10 00:43) [3]
Телепат!
:)
← →
HTML (2010-05-18 10:53) [5]
> Германн © (18.05.10 01:03) [4]
>
> > Игорь Шевченко © (18.05.10 00:43) [3]
>
> Телепат!
> :)
"&#xxxx;" - cтандартное представление символов в HTML
← →
demon © (2010-05-18 15:41) [6]RWolf, не работает ваш вариант.
← →
RWolf © (2010-05-18 15:45) [7][6], я его не проверял. Сейчас вижу, что "$"+ там явно лишнее.
← →
demon © (2010-05-18 17:48) [8]Rwolf, предложенный вами алгоритм не подходит для раскодировки, вместо слова "Сервер" (это Сервер ) он выдал !5@25@
← →
demon © (2010-05-18 17:50) [9]хм, в скобках я указал в закодированном виде, но браузер естественно отображает это читаемом виде :)
← →
demon © (2010-05-19 02:00) [10]Нашел в интернете что это кодировка CP-1251 (http://www.orwell.ru/test/CP/_?cp1251)
Но не смог раскодировать, так что вопрос актуальный
← →
Германн © (2010-05-19 02:10) [11]
> Но не смог раскодировать, так что вопрос актуальный
Ты Игорь Шевченко © (18.05.10 00:43) [3] прочитал?
← →
demon © (2010-05-19 03:05) [12]Но он не прав! Какой же это Юникод?
Это CP-1251, я проверял по таблице что в моем предыдущем посте, все символы сходятся. Тем более в шапке страницы, которую я собираюсь парсить указано: charset=windows-1251.
← →
Германн © (2010-05-19 03:13) [13]
> demon © (19.05.10 03:05) [12]
>
> Но он не прав! Какой же это Юникод?
Ну, ну. :)
← →
demon © (2010-05-19 03:35) [14]Вот так получилось :)
function HTMLCharsToStr(strDoc: string): String;
var
i: integer;
W : WideChar;
begin
Result:="";
i:=1;
while i<=length(strDoc)-7 do begin
if Copy(strDoc,i,2)="&#" then begin
Result:=Result+WideChar(StrToInt(Copy(strDoc,i+2,4)));
inc(i,6);
end
else Result:=Result+strDoc[i];
inc(i);
end;
end;
← →
Anatoly Podgoretsky © (2010-05-19 06:28) [15]> demon (19.05.2010 03:05:12) [12]
Неправ ты, партизано сапиенс.
← →
Плохиш © (2010-05-19 11:11) [16]Хм
> demon © (19.05.10 03:05) [12]
>
> Но он не прав! Какой же это Юникод?
> demon © (19.05.10 03:35) [14]
> Вот так получилось :)
> Result:=Result+WideChar(StrToInt(Copy(strDoc,i+2,4)));
>
не сходится.
← →
demon © (2010-05-19 11:56) [17]Ну, значит я не прав был, не знал просто что Юникод такой бывает, обычно вижу что-то вроде Сервер
← →
Исламбек Курдюкбаев (2010-05-19 18:20) [18]Удалено модератором
Примечание: Забаню за неуважение к правилам
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.086 c