我必须编码一个已经部分编码的字符串的URL。当我对字符串进行编码时,它将对已经编码的字符进行两次编码。解码后,我无法返回该字符串,因为它已被编码两次。
有什么办法只编码未加密的字符?
urlEncoded = URLEncoder.encode(id, "UTF-8");
要编码的示例网址:
http://gastro-huc.org.pt/index.php?view=article&catid=41%3Ateses-de-mestrado&id=41%3Ateses-de-mestrado&format=pdf&option=com_content&Itemid=68
最佳答案
首先对其进行解码,然后对其进行编码
String id = "http://gastro-huc.org.pt/index.php?view=article&catid=41%3Ateses-de-mestrado&id=41%3Ateses-de-mestrado&format=pdf&option=com_content&Itemid=68";
id = URLDecoder.decode(id);
String urlEncoded = URLEncoder.encode(id, "UTF-8");