编码小记——encodeURI和encodeURIComponent

缘起

公司有个工具对xhr编码后的入参,解码用的decodeURI导致,看起来不舒服,因为公司入参json对象需要转成字符串传递,这样decodeURI对 ‘:’没有解码

概念

URI: Uniform ResourceIdentifiers,通用资源标识符。

encodeURI和encodeURIComponent都是对url的编码。

对URL编码是常见的事,所以这两个方法应该是实际中要特别注意的。

它们都是编码URL,唯一区别就是编码的字符范围了:

区别

encodeURI方法不会对下列字符编码  ASCII字母、数字、~!@#$&*()=:/,;?+’

encodeURIComponent方法不会对下列字符编码 ASCII字母、数字、~!*()’

所以encodeURIComponent比encodeURI编码的范围更大。

当你要编码整个URL,使用这个URL,那么用encodeURI。

当你要编码URL中的参数的时候,那么encodeURIComponent是最好方法。

personal

感觉还是能用encodeURIComponent就用encodeURIComponent,长一点没关系

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注