Java中 类似 JS中的encodeURIComponent 代码的实现

今天编写代码的时候遇到了个问题,就是JS中有encodeURIComponent的方法(如果不清楚js中这个方法的用法请点击),而Java中没有类似的方法,例如不能把地址https://www.baidu.com/ 当中的“:” “/” 进行编码,所以就想了一个办法效果和JS中encodeURIComponent方法运行出来的结果一样,请看下面代码并试着运行一下 ^_^

首先要导入这两个包:

import java.net.URLDecoder; import java.net.URLEncoder;

JAVA代码如下:

// 对URL进行编码
String encodeData = URLEncoder.encode("https://www.baidu.com/", "UTF-8")
        .replaceAll("\+", "%20")
        .replaceAll("\!", "%21")
        .replaceAll("\", "%27")
        .replaceAll("\(", "%28")
        .replaceAll("\)", "%29")
        .replaceAll("\~", "%7E");
System.out.println(encodeData);      // 结果为:https%3A%2F%2Fwww.baidu.com%2F
        
// 对URL进行解码
String decodeData = URLDecoder.decode(encodeData, "UTF-8");
System.out.println(decodeData);       // 结果为:https://www.baidu.com/

大功告成!!!

经验分享 程序员 微信小程序 职场和发展