首先举一个小栗子
比如:http://www.xxxx.com?content='你 ~!#¥ 好' 这种地址虽然平时遇不到噢,举例子肯定要怎么过分怎么来对不对,像这种有空格的地址可能就会拼接失败,不是可能是肯定,如果不做转码的话。
大家都知道UTF-8是全球通用的,用utf-8转码就行了
@Test
public void Test4(){
String content = "我们都是 *!#$%^&*()_+~`1. ;;: 一家人";
try {
String encode = URLEncoder.encode(content,"UTF-8");
System.out.println(encode);
String decode = URLDecoder.decode(encode,"UTF-8");
System.out.println(decode);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
看下转码的结果
%E6%88%91%E4%BB%AC%E9%83%BD%E6%98%AF+*%21%23%24%25%5E%26*%28%29_%2B%7E%601.+%3B%3B%3A+%E4%B8%80%E5%AE%B6%E4%BA%BA
我们都是 *!#$%^&*()_+~`1. ;;: 一家人
看第一行即使有空格也被转码成计算机能识别的码,这样在拼接地址的时候就没有歧义,如果还有问题可以私聊。欢迎来战!!关注我关注我,不定时更新开发小问题