URLDecoder
是对字符串进行URL解码的编码处理函数。
URLDecoder.decode() 对字符串进行URL解码。
返回值:已解码的字符串
函数种类:编码处理
URLEncoder
是一个可将字符串以URL编码,用于编码处理。
URLEncoder.encode() 将字符串以URL编码
返回值:字符串
函数种类:编码处理
应用:
一般企业部署项目是在Linux系统上面,这就可能导致服务器编码方式与开发使用的windows编码方式不同,即后台与前台编码方式没有一致,造成乱码
处理:在后台可以对其进行编码转化处理:
String desc = java.net.URLDecoder.decode(order.getDesc(),\"UTF-8\");
在前台order.js文件中编码转化处理desc=encodeURI(encodeURI(desc));
package com.webserver.core;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
public class URLEncoderUtil {
public static void main(String[] args) {
try {
/*
URLDecoder.decode() 解码
*/
String url = \"index.html?username=%E7%A8%8B%E5%BA%8F%E5%91%98%E9%98%BF%E9%91%AB&password=123456\";
url = URLDecoder.decode(url,\"UTF-8\");
System.out.println(\"UTF-8解码:\"+url);
/*
URLEncoder.encoder() 转码
*/
String text = \"【】尊敬的用户,你的验证码为623489,有效时间30分钟。\";
text = URLEncoder.encode(text,\"UTF-8\");
System.out.println(\"UTF-8转码:\"+text);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
}
}
控制台输出
UTF-8解码:index.html?username=&password=123456
UTF-8转码:%E3%80%90%E7%A8%8B%E5%BA%8F%E5%91%98%E9%98%BF%E9%91%AB%E3%80%91%E5%B0%8A%E6%95%AC%E7%9A%84%E7%94%A8%E6%88%B7%EF%BC%8C%E4%BD%A0%E7%9A%84%E9%AA%8C%E8%AF%81%E7%A0%81%E4%B8%BA623489%EF%BC%8C%E6%9C%89%E6%95%88%E6%97%B6%E9%97%B430%E5%88%86%E9%92%9F%E3%80%82