Spring中URLEncoder.encode方法的功能简介说明
下文笔者讲述Spring中URLEncoder.encode方法产生的原因
由于JDK中自带的URLEncoder.encode有bug
当对字符串进行URI编码时,会将空格编码为 ”+”号
然而这是一个错误的编码结果,所以下文笔者将分享一种全新正确的操作方法,如下所示
=====================================================
使用spring提供UriUtils中的encode
可将空格转换为%20
例:urlencode的示例分享
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import org.springframework.web.util.UriUtils;
public class MainTest {
public static void main(String[] args) throws UnsupportedEncodingException {
String encode = URLEncoder.encode("2024-05-12 00:00:00", "UTF-8");
String decode = URLDecoder.decode("2024-05-12%2000%3A00%3A00", "UTF-8");
String springEncode = UriUtils.encode("2024-05-12 00:00:00", "utf-8");
String springDecode = UriUtils.decode("2024-05-12%2000%3A00%3A00", "utf-8");
System.out.println("encode = " + encode);
System.out.println("decode = " + decode);
System.out.println("springEncode = " + springEncode);
System.out.println("springDecode = " + springDecode);
}
}
----运行以上代码,将输出以下信息-----
encode = 2024-05-12+00%3A00%3A00
decode = 2024-05-12 00:00:00
springEncode = 2024-05-12%2000%3A00%3A00
springDecode = 2024-05-12 00:00:00
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


