encodeURIComponent和URLEncoder.encode的区别

二者的区别:

1、 encodeURIComponent(str) :

  • 参数:str - 字符串;
  • js(前端)编码方法;
  • 对应的解码方法:decodeURIComponent(str);
  • 编码差异:
    1 ) 中文解码 时,中文编码必须是utf-8才能正常解码;
    2 ) !’()~对这个五个符号不进行编码
encodeURIComponent("!'()~");//!'()~

输出结果:
在这里插入图片描述

2、URLEncoder.encode(str,type) :

  • 参数:str - 字符串; type - 编码类型(UTF-8、GBK等);
  • Java(后端)编码方法,
  • 对应的解码方法:URLDecoder.decode(str,type)
  • 编码差异:
    1 ) 中文解码 时,可设置编码类型正常解码;
    2 ) !’()~ 对这个五个符号进行编码,与js的encodeURIComponent方法不同;
public static void main(String[] args) throws UnsupportedEncodingException {
   	 System.out.println(URLEncoder.encode("!'()~", "UTF-8"));//%21%27%28%29%7E
   }

输出结果:
在这里插入图片描述

二者的相似:

URLEncoder.encode编码类型为UTF-8时,与encodeURIComponent方法基本一致,但URLEncoder.encode方法会将空格编码为符号"+",而encodeURIComponent 则将空格编码为"%20’。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值