URI编码的两方法异同与场景

encodeURI

这里先单纯介绍该函数的语法规则,场景后续说。先说作为一个函数,它能做什么。

它是全局对象下的方法,在浏览器器客户端里就是window对象的方法。它的作用是,对字符串的每个字符进行UTF-8编码,使用一到四个转义序列来表示。参数为要编码的字符串,返回值为编码后的字符串结果。

window.encodeURI(str)

编码的规则是:

除以下字符外,其余字符都进行编码

  • ;,/?:@&=+$ (此为URL的特殊字符)
  • # (数字标识)
  • 字母和数字
  • -_.!~*'()(保留的字符)

编码实际上是将每个字符先进行UTF-8编码,用16进制表示码值,然后在前面追加%来表示。如

encodeURI('我')

// 返回值为
// %E6%88%91

先将“我”进行UTF-8编码后由0xE6、0x88、0x91三个字节来表示,然后每个字节前面加%,就变成了%E6%88%91

有编码自然有解码,对应的解码方法是decodeURI

encodeURIComponent

这里先单纯介绍该函数的语法规则,场景后续说。先说作为一个函数,它能做什么。

它是全局对象下的方法,在浏览器器客户端里

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值