将字符串作为URI组件进行编码(encodeURIComponent())与解码(decodeURIComponent())

encodeURIComponent()函数

        可以把字符串作为URI组件进行编码

此函数对特殊字符进行编码。此外,它还对以下字符进行编码: , / ? : @ & = + $ #

以下举例说明

var uri = "https://w3school.com.cn/my test.asp?name=ståle&car=saab";
var res = encodeURIComponent(uri);
console.log(res)  //结果为https%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab

decodeURIComponent()函数

        对编码的URI组件进行解码

var uri = "https://w3schools.com/my test.asp?name=ståle&car=saab";
var uri_enc = encodeURIComponent(uri);//编码
var uri_dec = decodeURIComponent(uri_enc);//解码
var res = '编码:'+uri_enc + "<br>" +'解码'+ uri_dec;
console.log(res)     //结果为 编码: https%3A%2F%2Fw3schools.com%2Fmy%20test.asp%3Fname%3Dst%C3%A5le%26car%3Dsaab
解码: https://w3schools.com/my test.asp?name=ståle&car=saab

题外话

问:为什么要进行编码?

答:在使用地址栏提交查询参数时,若不进行编码,非英文字符会按照操作系统的字符集进行编码提交到服务器,服务器会按照配置的字符集进行编码,若两者不一致会导致乱码

题外话原作者链接:encodeURIComponent编码时为什么要编码两次 - 小时光不期而遇 - 博客园

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值