- URL编码 & 解码的概念
URL编码:将URL中特殊字符转义成十六进制字节,以便浏览器和服务器可以更好地理解和传递这些字节。
URL解码:将URL中的十六进制字节转换为特殊字符。
需要注意的是:URL编码与解码操作是成对出现的, 编码后的URL需要解码才能得到正确的值。
- Java实现URL编码 & 解码
Java中URL编码的实现主要依赖于java.net.URLEncoder类。
示例1:URL编码
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class URLEncoderExample {
public static void main(String[] args) throws Exception {
String before = "https://blog.example.com/不好的链接";
String after = URLEncoder.encode(before, StandardCharsets.UTF_8.name());
System.out.println("URL编码前的字符串:" + before);
System.out.println("URL编码后的字符串:" + after);
}
}
运行上述代码,控制台输出如下:
URL编码前的字符串:https://blog.example.com/不好的链接
URL编码后的字符串:https%3A%2F%2Fblog.example.com%2F%E4%B8%8D%E5%A5%BD%E7%9A%84%E9%93%BE%E6%8E%A5
示例2:URL解码
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
public class URLDecoderExample {
public static void main(String[] args) throws Exception {
String before = "https%3A%2F%2Fblog.example.com%2F%E4%B8%8D%E5%A5%BD%E7%9A%84%E9%93%BE%E6%8E%A5";
String after = URLDecoder.decode(before, StandardCharsets.UTF_8.name());
System.out.println("URL解码前的字符串:" + before);
System.out.println("URL解码后的字符串:" + after);
}
}
运行上述代码,控制台输出如下:
URL解码前的字符串:https%3A%2F%2Fblog.example.com%2F%E4%B8%8D%E5%A5%BD%E7%9A%84%E9%93%BE%E6%8E%A5
URL解码后的字符串:https://blog.example.com/不好的链接
- JS实现URL编码 & 解码
JS中URL编码的实现主要依赖于encodeURI、encodeURIComponent和decodeURIComponent三个函数。
示例3:URL编码
const before = "https://blog.example.com/不好的链接";
const after = encodeURI(before);
console.log("URL编码前的字符串:" + before);
console.log("URL编码后的字符串:" + after);
运行上述代码,控制台输出如下:
URL编码前的字符串:https://blog.example.com/不好的链接
URL编码后的字符串:https://blog.example.com/%E4%B8%8D%E5%A5%BD%E7%9A%84%E9%93%BE%E6%8E%A5
示例4:URL解码
const before = "https://blog.example.com/%E4%B8%8D%E5%A5%BD%E7%9A%84%E9%93%BE%E6%8E%A5";
const after = decodeURI(before);
console.log("URL解码前的字符串:" + before);
console.log("URL解码后的字符串:" + after);
运行上述代码,控制台输出如下:
URL解码前的字符串:https://blog.example.com/%E4%B8%8D%E5%A5%BD%E7%9A%84%E9%93%BE%E6%8E%A5
URL解码后的字符串:https://blog.example.com/不好的链接
综上所述,本文详细讲解了Java结合JS实现URL编码与解码的完整攻略,包含了Java和JS两种语言的实现方式,并给出了两个示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java结合JS实现URL编码与解码 - Python技术站