0xd34df00d 28.04.2012 14:14 Azoth_primary

Пиздец просто! http://www.velocityreviews.com/forums/t5...
Особенно понравилось решение с запихиванием всех возможных percent-encoded entities в мапу/список.

Recommended by:

@pooq: моча съела говно

2. kb 28.04.2012 15:10

А чем не нравится, собственно, решение с мапой?

3. 0xd34df00dkb /2 28.04.2012 15:21 Azoth_primary

if (ch == '%')
{
if (i + 3 > size)
{
IsValid_ = false;
return;
}
int val = 0;
std::istringstream is (url.substr (i + 1, 2));
if (is >> std::hex >> val)
{
current += static_cast<char> (val);
i += 2;
}
else
{
IsValid_ = false;
return;
}
}

4. 0xd34df00dnobodyzzz /1 28.04.2012 15:21 Azoth_primary

Поздно :(

5. kb0xd34df00d /3 28.04.2012 15:29

Что это за кусок кода? Здесь показана какая-то ветвь "if ch == '%'", которая непонятно почему является чем-то особенным.

6. 0xd34df00dkb /5 28.04.2012 15:32 Azoth_primary

Случай парсинга percent-encoding же. Хуита последовательно идет по строке.

7. 0xd34df00dkb /5 28.04.2012 15:33 Azoth_primary

http://pastebin.com/gBeqpsRX

8. nobodyzzz0xd34df00d /7 28.04.2012 15:38 work3B660C54

там беруться 2 цифры после %, конвертяться в int и кастятся к char'у? istringstream не оверхед ли? =)

9. nobodyzzz0xd34df00d /4 28.04.2012 15:39 work3B660C54

кстати странно что в этом сраном wxWindows есть метод для unescape, а для escape нет =)

10. 0xd34df00dnobodyzzz /8 28.04.2012 15:40 Azoth_primary

А там не факт, что цифры. Можно, конечно, учитывать аски, делать всякие isalpha/isnum, но, кажется. это быстрее написать )

11. kb0xd34df00d /10 28.04.2012 15:58

Ааа, блять. Decoding, а не encoding. Ну да, тогда не нужны мапы. А при энкодинге нужны, только не map а set, чтоб проверять нужно ли энкодить символ.

Do you really want to delete ?