一、报错

java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in 
escape (%) pattern - For input string: ";""
  • Java调用 URLDecoder.decode(str, “UTF-8”); 抛出以上的异常,其主要原因是% 在URL中是特殊字符,需要特殊转义一下,

二、解决办法:使用%25替换字符串中的%号

url = url.replaceAll("%(?![0-9a-fA-F]{2})", "%25");
 String urlStr = URLDecoder.decode(url, "UTF-8");