1.使用java.net.URLEncoder和java.net.URLDecoder类
public class UrlEncoder {
public static void main(String[] args) {
try {
String url = "https://www.baidu.com/sugrec?&prod=pc_his&from=pc_web&_t=1680167620430&req=2&csor=0";
String encodedUrl = java.net.URLEncoder.encode(url, "UTF-8");
System.out.println("加密后:" + encodedUrl);
String decodedUrl = java.net.URLDecoder.decode(encodedUrl, "UTF-8");
System.out.println("解密后:" + decodedUrl);
/**
* 输出:
* 加密后:https%3A%2F%2Fwww.baidu.com%2Fsugrec%3F%26prod%3Dpc_his%26from%3Dpc_web%26_t%3D1680167620430%26req%3D2%26csor%3D0
* 解密后:https://www.baidu.com/sugrec?&prod=pc_his&from=pc_web&_t=1680167620430&req=2&csor=0
*/
} catch (Exception e) {
e.printStackTrace();
}
}
}
上述代码中,使用URLEncoder.encode方法将URL进行编码,指定编码方式为UTF-8,生成编码后的URL字符串。使用URLDecoder.decode方法将编码后的URL字符串进行解码,指定解码方式为UTF-8,生成解码后的URL字符串。
2.使用java.nio.charset.StandardCharsets和java.util.Base64类
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class UrlEncoder {
public static void main(String[] args) {
try {
String url = "https://www.baidu.com/sugrec?&prod=pc_his&from=pc_web&_t=1680167620430&req=2&csor=0";
String encodedUrl = Base64.getEncoder().encodeToString(url.getBytes(StandardCharsets.UTF_8));
System.out.println("加密后:" + encodedUrl);
String decodedUrl = new String(Base64.getDecoder().decode(encodedUrl), StandardCharsets.UTF_8);
System.out.println("解密后:" + decodedUrl);
/**
* 输出:
* 加密后:aHR0cHM6Ly93d3cuYmFpZHUuY29tL3N1Z3JlYz8mcHJvZD1wY19oaXMmZnJvbT1wY193ZWImX3Q9MTY4MDE2NzYyMDQzMCZyZXE9MiZjc29yPTA=
* 解密后:https://www.baidu.com/sugrec?&prod=pc_his&from=pc_web&_t=1680167620430&req=2&csor=0
*/
} catch (Exception e) {
e.printStackTrace();
}
}
}
上述代码中,使用Base64.getEncoder().encodeToString方法将URL字符串转换为UTF-8编码的字节数组,并进行Base64编码。使用new String(Base64.getDecoder().decode(encodedUrl), StandardCharsets.UTF_8)方法将编码后的URL字符串进行解码,生成解码后的URL字符串。文章来源:https://www.toymoban.com/news/detail-508583.html
需要注意的是,对URL进行编码和解码时需要指定字符集,常用的字符集包括UTF-8、ISO-8859-1等。在使用URL进行网络传输时,一般建议使用UTF-8编码。文章来源地址https://www.toymoban.com/news/detail-508583.html
到了这里,关于Java对URL进行编码和解码的两种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!