URLDecoder和URLEncoder它的作用主要是用于普通字符串和application/x-www-form-rulencoded MIME字符串之间的转换
URLDecoder类包含一个decode(String s,String charcter)静态方法,它可以将看上去乱码的特殊字符串转换成普通字符串
URLEncoder类包含一个encode(String s,String charcter)静态方法,它可以将普通字符串转换成application/x-www-form-urlencoded MIME字符串
//将application/x-www-form-urlencoded字符串转换成普通字符串
String keyWord = URLDecoder.decode("%CD%F8%C2%E7%CA%B1%BF%D5", "UTF-8");
//将普通字符串转换成application/x-www-form-urlencoded字符串
String urlStr = URLEncoder.encode("网络时空" , "UTF-8");
注:可根据需求指定字符集,我这里用的UTF-8
-
编码‘utf-8’
/**
* 编码‘utf-8’
* @param data 要编码的字符串
* @return 编码后的字符串
* @throws UnsupportedEncodingException 转码异常(必须捕获)
*/
public static String encode(String data) throws UnsupportedEncodingException {
// 参数一:要编码的字符串 参数二:指定字符集
data = URLEncoder.encode(data,"utf-8");
return data;
}
-
解码‘utf-8’
/**
* 解码‘utf-8’
* @param data 要解码的字符串
* @return 解码后的字符串
* @throws UnsupportedEncodingException 转码异常(必须捕获)
*/
public static String decode(String data) throws UnsupportedEncodingException {
// 参数一:要解码的字符串 参数二:指定字符集
data = URLDecoder.decode(data,"utf-8");
return data;
}
测试
// 测试
public static void main(String[] args) {
try {
// 进行编码
String encode = URLEncoder.encode("中文");
System.out.println(encode);
// 进行解码
String decode = URLEncoder.decode(encode);
System.out.println(decode);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}