java对URL进行编码和解码

代码

  • 引入
import java.net.URLEncoder;
import java.net.URLDecoder;
  • 编码
URLEncoder.encode( URL, "UTF-8" )
  • 解码
URLDecoder.decode( URL, "UTF-8" )

(小提示: cookie中存放中文也需要使用上面的方法进行编码和解码)

原理

 我们都知道Http协议中参数的传输是”key=value”这种键值对形式的,如果要传多个参数就需要用“&”符号对键值对进行分割,如果参数中也有分割符号“&”,那解析参数就会产生歧义

另外就是,网络传输过程中是遵循网络标准RFC协议的,网络协议不支持直接传输中文和特殊字符的,容易产生乱码问题,必须进行编码传输

疑似相关问题

  • 编码解码一一对应,有编码就有解码
  • 服务端参数解析错误,有可能是前端传参有特殊字符,没有编码,需要沟通好
  • 前面接收参数数据乱码,有可能是后端没有进行编码造成,(乱码问题也有可能和浏览器编码,tomcat编码和服务器编码有关,这里不细说)
  • 中文传输过程:浏览器中的中文字符(编码)----->服务器(解码)

                             服务器的中文字符(编码)----->浏览器(解码)显示

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平静的大海

你的鼓励是我的动力源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值