request.Querystring url automaticamente decodifica uma string?

Estou trabalhando com uma página em que tenho um URL como:
/ diretório / empresa / fabricante

Usando algumas regras de reescrita, isso é reescrito

testando com / directory / company / dunkin% 26donuts /

Alguns fabricantes têm um e comercial em seu nome. Então eu pensei que poderia simplesmente substituir o e comercial por%26. No entanto, quando eu depurar o código e passar o mouse sobreRequest.QueryString isso me mostra{qq=company&manf=dunkin&donuts&cond=} eRequest.QueryString["manf"] me dá 'dunkin'

Se eu usar%24 ($) em vez de e comercial, pairando sobreRequest.QueryString me dá{qs=company&manf=dunkin%24donuts&cond=} eRequest.QueryString["manf"] me dá 'dunkin $ donuts'

Eu não entendo o comportamento diferente aqui. Por que parece que o valor codificado em URL para um "e" comercial é decodificado antes de você realmente solicitar uma chave específica, mas outro caractere codificado em url, como um cifrão, só é decodificado depois que você realmente solicita essa chave específica?

Esta é uma mudança recente? Eu sempre penseiRequest.QueryString[key] retornou o texto real sem decodificá-lo primeiro. Ou tem algo a ver com as re-gravações de URL?

questionAnswers(3)

yourAnswerToTheQuestion