Java URL Decoder не работает должным образом
У меня есть простая программа, которая пытается декодировать закодированный 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 ответа
Решение
Вы уверены, что вам не нужен декодер 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
для вашего вклада
Строка, которую вы отправляете, не имеет URL-адреса, поэтому не может быть декодирована. Где ты взял строку?