gds 20.02.2012 23:40 umodniBA03C572

вопрос по uri encoding/decoding.
rfc 3986 посмотрел, но не обнаружил ответа. (или его там нет, или плохо смотрел.)
как декодировать компонент uri, равный "a%2Qb"?
оставлять как есть? считать ошибочным? обрезать с подстроки "%2Q" и дальше?
интересует "как правильно", а не "как работает в языке xxx / библиотеке yyy".

Recommended by: @komar
1. ygrek 21.02.2012 07:59 x

> Because the percent ("%") character serves as the indicator for
> percent-encoded octets, it must be percent-encoded as "%25" for that
> octet to be used as data within a URI. Implementations must not
> percent-encode or decode the same string more than once, as decoding
> an already decoded string might lead to misinterpreting a percent
> data octet as the beginning of a percent-encoding, or vice versa in
> the case of percent-encoding an already percent-encoded string.

этот абзац как бы намекает нам что нужно сигнализировать ошибку, но думаю в реальности все оставляют как есть (я оставляю)

2. gdsygrek /1 21.02.2012 08:11 umodniB4E8AE0A

весьма затейливо намекает, на мой взгляд.
Однако, разумных вариантов особо не вижу, все плохие. Попробую оставлять как есть, дальше-глубже оно всё равно не пролезет плохим образом. А что же ещё делать.

Do you really want to delete ?