编码解码(btoa、encodeURIComponent、encodeURI、escape)

window.btoa(str)

用于编码形成 base-64 编码的字符串。

window.atob(str)

用于解码使用 base-64 编码的字符串(base64图片下载时候通常需要先解码,然后将解码内容转化为二进制数据下载)。

window.encodeURIComponent(str) 

用于url的组成部分编码,不能用于整个url编码。把字符串作为 URI 组件进行编码。该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的假定任何保留字符都代表普通文本,所以必须编码它们

window.decodeURIComponent(str)

对 encodeURIComponent() 函数编码的 URI 进行解码。

window.encodeURI(str)

专门用于uri编码中文处理,对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的: , / ? : @ & = + $ # (可以使用encodeURIComponent() 方法分别对特殊含义的 ASCII 标点符号进行编码)。假定URI 中的任何保留字符都有特殊意义,所有不会编码它们。

window.decodeURI(str)

对 encodeURI() 函数编码过的 URI 进行解码。

window.escape(str)

返回一个可在所有计算机上读取的编码 String 对象(使字符串具有可移植性,这样它就可以通过任何网络传输到任何支持 ASCII 字符的计算机)。不能用来对“统一资源标识符”(URI) 进行编码。对以下字符不会进行编码: * @ - _ + . /。

window.unescape(str)

对 unescape()函数编码过的 字符串进行解码。

区别

escape() will not encode: @*/+
encodeURI() will not encode: ~!@#$&*()=:/,;?+'
encodeURIComponent() will not encode: ~!*()'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值