encodeURIComponent vs encodeURI vs escape

Email:longsu2010 at yeah dot net

先看一段描述:

1、encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。
2、encodeURI() 函数可把字符串作为 URI 进行编码。
3、escape() 函数可对字符串进行编码。

那区别是什么?如下:

1、escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

2、encodeURI不编码字符有82个:!,#,$,&,’,(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

3、encodeURIComponent不编码字符有71个:!, ‘,(,),*,-,.,_,~,0-9,a-z,A-Z

综合一看还是encodeURIComponent最靠谱。

对应的解码函数:

1、encodeURIComponent : decodeURIComponent

2、encodeURI : decodeURI

3、escape : unescape

你可能感兴趣的:(JavaScript)