2

我有一个未编码的 url1

String url1="http://bitake.com/params/?attribute=3"

这里 url2( url1 重定向后的 url) 被编码

String url2="http://search.bitake.com/params/?attr=48%e6%99%82%e9%96%93%e3%82"

我使用此链接打开带有 Intent 的浏览器

Intent browserIntent = new Intent("android.intent.action.VIEW",   
                                      Uri.parse(URLDecoder.decode(url));
startActivity(browserIntent);

我想通过代码从 url1 获取 url2..然后将 url2 解码为可以在 web 中打开我该怎么办?

4

2 回答 2

0

我认为您的 url1 不是有效的 url。无法通过 utf8 或 GB 解码为有效的 url

于 2013-08-02T03:31:20.463 回答
0

您的 URL1 不是有效的 URL。URLDecoder.decode(string url) 已弃用。您应该使用 URLDecode.decode(String url, String enc) 其中 enc 是字符编码。

%必须编码为%25

public class DecodeTest
{
   public static void main(String[] args)
   {

      String url="http://bitake.com/params/?attribute=3";

      String url1="http://search.bitake.com/params/?attr=48%25e6%2599%2582%25e9%2596%2593%25e3%2582%25";

      try
      {
         System.out.println(URLDecoder.decode(url,"UTF-8"));
         System.out.println(URLDecoder.decode(url1, "UTF-8"));
      }
      catch (UnsupportedEncodingException e)
      {
         e.printStackTrace();
      }
   }
}
于 2013-08-02T03:33:35.643 回答