URLEncoder URLDecoder HtmlUtils

本文介绍如何使用Java的URLEncoder和URLDecoder对URL进行编码和解码,包括对中文的支持及避免乱码的方法。同时对比了HtmlUtils在处理HTML特殊字符方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

	public static void main(String[] args) throws UnsupportedEncodingException {
		String url = "http://www.baidu.com?a=b&b=c&abc=你好";
		String en  = URLEncoder.encode(url, "UTF-8");
		System.out.println(en);
		String decode = URLDecoder.decode(en, "UTF-8");
		System.out.println(decode);
		String decode2 = URLDecoder.decode(decode, "UTF-8");
		System.out.println(decode2);  //2次decode不会再变化
		
		String es = HtmlUtils.htmlEscapeDecimal(url);
		System.out.println(es);  //没有html的特殊符号,不会有变化
		
		String esen = HtmlUtils.htmlEscapeDecimal(en);
		System.out.println(esen);
		
//		http%3A%2F%2Fwww.baidu.com%3Fa%3Db%26b%3Dc%26abc%3D%E4%BD%A0%E5%A5%BD
//		http://www.baidu.com?a=b&b=c&abc=你好
//		http://www.baidu.com?a=b&b=c&abc=你好
//		http://www.baidu.com?a=b&b=c&abc=你好
//		http%3A%2F%2Fwww.baidu.com%3Fa%3Db%26b%3Dc%26abc%3D%E4%BD%A0%E5%A5%BD

	}
 

 

 

结论:

1 URLEncoder 会把中文编码为 %ab% 这样的格式,防止中文乱码

2 URLDecoder 解码恢复原样后,继续解码,字符串并不会有别的改变

 

3 HtmlUtils 用于有html特殊的字符转换成转义字符,如 & 转成 &nbsp 等,   如不转换这浏览器解析会出现错误

 

 

 

注意 当对 http:// 进行encode后,浏览器将把它识别为相对路径,而非绝对路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值