我需要允许用户输入各种特殊字符,所以我使用 java URLDeacoder.decode() 方法,我使用 println 进行了测试。除了这个百分比符号,其他特殊字符没有问题,执行时出错。这是为什么?我知道 % 用于 URL 编码,这是原因吗?
java.lang.IllegalArgumentException: URLDecoder: 不完整的尾随转义 (%) 模式
System.out.println(URLDecoder.decode("%", "UTF-8"));
最佳答案
尽管名称不同,URLEncoder/Decoder
用于编码 POST 参数,而不是 URL。请参阅下面@fge 的评论。
编码 URL 的方法是使用 URL 和 URI 类。
我很好奇您最初是如何获得未解码的 URL。
关于Java URLDecoder 将百分比符号解码为错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35331666/