Search code examples
javaurl-encoding

How do you unescape URLs in Java?


When I read the xml through a URL's InputStream, and then cut out everything except the url, I get "http://cliveg.bu.edu/people/sganguly/player/%20Rang%20De%20Basanti%20-%20Tu%20Bin%20Bataye.mp3".

As you can see, there are a lot of "%20"s.

I want the url to be unescaped.

Is there any way to do this in Java, without using a third-party library?


Solution

  • This is not unescaped XML, this is URL encoded text. Looks to me like you want to use the following on the URL strings.

    URLDecoder.decode(url);
    

    This will give you the correct text. The result of decoding the like you provided is this.

    http://cliveg.bu.edu/people/sganguly/player/ Rang De Basanti - Tu Bin Bataye.mp3
    

    The %20 is an escaped space character. To get the above I used the URLDecoder object.