Строка запроса — упорядоченная последовательность сегментов имя-значение, а не готовый словарь. QueryLens принимает необязательный начальный вопросительный знак, делит остаток по амперсандам и считает границей первый знак равенства. Остальные знаки остаются в значении. Зафиксируйте выбранный профиль и сравнивайте исходник, декодированные строки и канонический запрос вместе. Такой набор позволяет воспроизвести расхождение, но не утверждает, что этот парсер определяет поведение любого сервера, фреймворка или системы подписи.

Амперсанды создают точные сегменты

Для a=1&b=2 парсер получает два сегмента в том же порядке. Начальный, конечный или двойной амперсанд создаёт пустой сегмент и отклоняется, а не удаляется незаметно. Так случайные разделители видны, а число пар детерминировано. Сохраняйте одинаковые имена отдельными упорядоченными строками, пока принимающее приложение не задаст свою политику. Раннее преобразование в обычный объект может потерять значения, изменить порядок или скрыть отсутствие знака равенства в исходном запросе.

Разделяет только первый знак равенства

Сегмент token=a=b становится именем token и значением a=b. У bare-пары flag нет равенства, но она получает пустое декодированное значение и явный признак исходной формы. Канонический результат добавляет равенство, делая нормализованную запись однозначной. Успешное декодирование подтверждает только текст, полученный по этим явным правилам. Оно не проверяет целевой URL, не разрешает редирект, не подтверждает подпись, не обнаруживает атаку и не доказывает совпадение лимитов и ошибок другой реализации.

Неверные escapes останавливают результат

После каждого процента нужны две hex-цифры, а полученные байты должны образовывать допустимый UTF-8. QueryLens различает неверный percent-синтаксис и неверный UTF-8 и очищает прошлый результат, чтобы старую успешную таблицу не приняли за новый ввод. QueryLens выполняет преобразование локально и не отправляет содержимое запроса в бэкенд продукта. Всё равно проверяйте скопированный результат: в данных могут быть идентификаторы, поисковые фразы или другой чувствительный текст, а валидация и доступ остаются обязанностью целевой системы.