使用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); } catch (Exception e) { e.printStackTrace(); } }}
上述代码中,使用URLEncoder.encode方法将URL进行编码,指定编码方式为UTF-8,生成编码后的URL字符串。使用URLDecoder.decode方法将编码后的URL字符串进行解码,指定解码方式为UTF-8,生成解码后的URL字符串。
使用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); } catch (Exception e) { e.printStackTrace(); } }}
上述代码中,使用Base64.getEncoder().encodeToString方法将URL字符串转换为UTF-8编码的字节数组,并进行Base64编码。使用new String(Base64.getDecoder().decode(encodedUrl), StandardCharsets.UTF_8)方法将编码后的URL字符串进行解码,生成解码后的URL字符串。
需要注意的是,对URL进行编码和解码时需要指定字符集,常用的字符集包括UTF-8、ISO-8859-1等。在使用URL进行网络传输时,一般建议使用UTF-8编码。
来源地址:https://blog.csdn.net/weixin_43749805/article/details/129857624