title: URL-decode a string in Common Lisp
body: <p>I have a string that contains an escaped URL:</p>
  
  <pre><code>http%3A%2F%2Fexample.com%3Ffoo%3Dbar+baz
  </code></pre>
  
  <p>I'm trying to decode it to the following:</p>
  
  <pre><code>http://example.com?foo=bar+baz
  </code></pre>
  
  <p>However, I can't find any suitable function exported by Drakma.  I can <em>en</em>code like so:</p>
  
  <pre><code>* url-string
  
  "http://example.com?foo=bar+baz"
  * (drakma:url-encode url-string :utf-8)
  
  "http%3A%2F%2Fexample.com%3Ffoo%3Dbar%2Bbaz"
  </code></pre>
  
  <p>... so I figure I'm on the right track.  If anyone could supply a nudge in the right direction I'd appreciate it :-)  I'm using SBCL 1.0.54, built from source on 64-bit Linux Mint 13.</p>
  
  <p>If it helps clarify what I'm trying to do, in Ruby, I'd do the following:</p>
  
  <pre><code>&gt; uri_string = "http%3A%2F%2Fexample.com%3Ffoo%3Dbar+baz"
   =&gt; "http%3A%2F%2Fexample.com%3Ffoo%3Dbar+baz" 
  &gt; URI.decode uri_string
   =&gt; "http://example.com?foo=bar+baz" 
  </code></pre>