前言
我们经常看见在一个网址中如果是使用get请求的的话,在网址里可以看到大量参数值的传递,如果是英文和数字,我们还可以直接阅读到传的值,但如果参数中传的是中文,那么在url网址中的中文会被编码成我们无法直接阅读的编码格式,类似于 %E6%88%91%E6%98%AF%E8%B0%81 这样的形式,这个例子其实转换成中文就是 我是谁 。那么在java中,我们是如何实现url编码与中文的相互转换的呢
中文转URL编码
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public class MyTest {
public static void main(String[] args) {
try {
String encode = URLEncoder.encode("我是谁", "utf-8");
System.out.println("url编码后的值:" + encode);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
输出的结果是
URL编码转中文
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
public class MyTest {
public static void main(String[] args) {
try {
String decode = URLDecoder.decode("%E6%88%91%E6%98%AF%E8%B0%81", "utf-8");
System.out.println(decode);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
输出结果是