
Decode a value once to inspect its original text. If blue%2520sky becomes blue%20sky, the remaining %20 is a clue that the value may have been encoded twice.
blue%2520sky in Input. Output shows blue%20sky.blue%20sky into Input. The output is blue sky.Input: blue%2520sky After one decode: blue%20sky After two decodes: blue sky
The first decode changes %25 into a literal percent sign; the next interprets %20 as a space. Two layers can be intentional, so check the sender's format before removing another layer.
Decode the individual value you are investigating, not an entire URL as a single component. Decoding %26 into & before parsing a query could change where one parameter ends. Decoding does not make text trusted or safe to execute.

%2 causes a URI error. Check the original value for missing characters.+ as a space, use Standard with Preserve spaces as %20 (instead of +) unchecked.