title: Decode a string with nested encodes
body: <p>strong textGiven a string that has been encoded n times, how can I decode the string to give me the plain unencoded string if I don't know the value of n.</p>
  
  <p>To clarify:</p>
  
  <pre><code>Initial : /unencoded?string/
  
  Encoded Once : %2Funencoded%3Fstring%2F
  
  Encoded Twice: %252Funencoded%253Fstring%252F
  
  Encoded Three Times: %25252Funencoded%25253Fstring%25252F
  </code></pre>
  
  <p>How do I get from <code>%25252Funencoded%25253Fstring%25252F</code> to <code>/unencoded?string/</code> <strong>without knowing it's been encoded three times</strong>?</p>
  
  <p>I know I can use <code>HttpServerUtility.UrlDecode</code> or similar, but this only decodes once.</p>