一、escape
1、特点
- 作用是让字符串在所有电脑上可读。
- 编码之后的效果是%XX或者%uXXXX这种形式。
- 编码字符范围: ASCII字母、数字、@*/+,这几个字符不会被编码,其余的都会。
2、适合场合
编码URL之外的字符串
二、encodeURI
1、特点
- 空格会被编码成“%20”
- 编码字符范围: ASCII字母、数字、~!@#$&*()=:/,;?+’不会被编码,其它的都会
2、适合场合
因为encodeURI
不会对URL中的”:”和”/”进行编码,所以如果需要编码并使用整个URL,那么用encodeURI
。
不能用encodeURIComponent
,因为encodeURIComponent
会将URL中的:
- “:”编码成”%3A”
- “/”编码成”%2F”
这样这个URL就不能访问。
三、encodeURIComponent
1、特点
- 编码字符范围: ASCII字母、数字、~!*()’不会被编码,其它的都会
- 对比
encodeURI
可以发现encodeURIComponent
比encodeURI
编码的范围更大。 encodeURIComponent
会把 http:// 编码成 http%3A%2F%2F 而encodeURI
却不会。
2、适合场合
当你需要编码URL中的参数的时候,那么encodeURIComponent
是最好方法。
因为URL参数中的”/”是需要被编码的,不然在URL中造成一个无效的路径,影响URL的访问。
encodeURIComponent
可以对”/”进行编码,所以适合用来编码URL中对的参数。
encodeURI
不能对”/”进行编码,所以它不适合用来编码URL中的参数。