![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Декодирование канонизированного URL
Виктор85 © (2010-07-12 21:36:00)Здравствуйте мастера!
Проблемы с декодированием URL к нормальному виду.
Пробовал:
HTTPDecode из HTTPApp.pas
UrlCanonicalizeW из ShLwApi.pas
InternetCanonicalizeUrlW из WinInet
Цель всего этого - повторить поведение IE.
Строки на которых проводил тестирование:
[1] '%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0'
[2] 'メインページ%20.html'
[3] 'メインページ%2520.html'
Строка [1] должна после преобразования иметь вид: 'Заглавная_страница' и проходить проверку IsUTF8String
Строка [2] должна превращаться в 'メインページ .html', а строка [3] соответственно в 'メインページ%20.html'
Функция HTTPDecode портит строку [2] и [3], т.к. ей на вход нужно передавать Ansi строку.
UrlCanonicalizeW с флагом URL_UNESCAPE для строки [1] дает такой же результат как InternetCanonicalizeUrlW с флагами ICU_DECODE or ICU_NO_ENCODE: 'Ðаглавна 09;_ÑÑÑани 09;а'. Т.е. неверный, а строки [2] и [3] обрабатывает прекрасно.
В общем прошу помощи, поиск мне не помог.
Виктор85 (2010-07-20 16:54:00) [1]Никто не знает в чем может быть проблема?