Java URL Decoder не работает должным образом - PullRequest
0 голосов
/ 12 октября 2011

У меня есть простая программа, которая пытается декодировать закодированный URL. Но по какой-то причине это, похоже, не работает. Кто-нибудь знает, почему это происходит? Я провел часы, но не смог понять это.

Вот программа:

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

public class DecodeTest {

public static void main(String[] args) {

    String encodedUrl = "aHR0cHM6Ly93d3cuYWUuY29tL3dlYi9teWFjY291bnQvYWNjb3VudF9ob21lLmpzcA";
    String decodedUrl = "";

    try {
        decodedUrl = URLDecoder.decode(encodedUrl, "UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }

    System.out.println("String: " + decodedUrl);
    }
}

Вывод выглядит следующим образом:

 String: aHR0cHM6Ly93d3cuYWUuY29tL3dlYi9teWFjY291bnQvYWNjb3VudF9ob21lLmpzcA

Это та же самая закодированная строка.

Ответы [ 3 ]

4 голосов
/ 12 октября 2011

Строка, которую вы отправляете, не имеет URL-адреса, поэтому не может быть декодирована. Где ты взял строку?

3 голосов
/ 12 октября 2011

вы уверены, что вам не нужен декодер base64?это ожидаемый результат.Кодирование / декодирование URL - это что-то вроде преобразования пробелов в% 20 и тому подобное

%0D%0AGood+luck%28you%27ll+need+it%29 

в

Good luck (you'll need it)

base64 декодирование даст вам

https://www.ae.com/web/myaccount/account_home.jsp

ваш вклад

0 голосов
/ 12 октября 2011

Он делает именно то, что должен. Там нечего менять.

...