之前工作中遇到Java URLEncode方法没有办法处理特殊字符,导致值前端异常(js使用的是encodeURIComponet方法),今天来总结一下不能够转换的字符,老规矩直接上代码:
public static String encodeURIComponent(String str) {
try {
return URLEncoder.encode(str, "UTF-8")
.replace("+", "%20")
.replace("%21", "!")
.replace("%27", "'")
.replace("%28", "(")
.replace("%29", ")")
.replace("%7E", "~");
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
}
如果对你有帮助,请关注house哥吧。