java - 字符串 url 编码两次,我无法获取初始字符串

标签 java string urlencode urldecode

我必须将 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");

关于java - 字符串 url 编码两次,我无法获取初始字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48715235/

相关文章:

java - 在java中比较两个字符串之间的所有字符(即使它们包含数字)

java 。使用弹出消息 "already running"防止 Jar App 多次运行。 (使用 ServerSocket())

ruby - 如何在 Ruby 中不使用反斜杠转义来执行字符串替换

c for循环break语句不起作用

当我尝试在 URL 中发送特殊字符时,Tomcat 返回 HTTP 状态 400 – 错误请求状态

java - 我可以使用 CLI 开发 Android 应用程序吗

java - 将文本文件加载到文本区域

string - MATLAB 空单元格(n,m)字符串数组?

python - 从python中的URL获取查询字符串的最佳方法?

java - 使用 UTF-8 URL 调用 nominatim.openstreetmap OSM