我有一个简单的程序,它尝试解码编码的 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
这是相同的编码字符串。
最佳答案
您发送的字符串未经过 URL 编码,因此无法解码。你从哪里得到字符串?
关于Java URL 解码器未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7733337/