0

我有一个简单的程序,它试图解码一个编码的 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

这是相同的编码字符串。

4

3 回答 3

4

您发送的字符串不是 URL 编码的,因此无法解码。你从哪里得到的字符串?

于 2011-10-11T22:37:07.577 回答
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

供您输入

于 2011-10-11T22:40:01.047 回答
0

它正在做它应该做的事情。没有什么可以改变的。

于 2011-10-11T22:36:49.113 回答