URL编码

URL为什么要编码

  • 在传输过程中,URL中有些字符会引起歧义,比如以下两种情况
  • URL查询字符的一般格式为key=value&key=value,那么如果value字符串中包含了=,&,那么就会造成解析错误
  • 或者URL的编码格式采用的是ASCII码,而你又在其中输入了中文,也可能会造成解析错误
  • 所以URL编码就是使用安全的字符去表示那些不安全的字符

JS中的3个编码函数详解

escape()

  • escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值
  • 不编码的符号有,ASCII字母、数字、标点符号"@ * _ + - . /"(*/@+-._0-9a-zA-Z
  • \u0000到\u00ff之间的符号被转成%xx的形式,其余符号被转成%uxxxx的形式
  • 对应的解码函数是unescape()

encodeURI()

  • encodeURI()是JS中用来对URL编码的函数,对常见符号进行编码
  • 不编码的符号是,一些在网址中有特殊含义的符号!#$&'()*+,/:;=?@-._~0-9a-zA-Z
  • 编码后,它输出符号的utf-8形式,并且在每个字节前加上%
  • 对应的解码函数是decodeURI()

encodeURIComponent()

  • encodeURIComponent():它用于对URL的组成部分进行个别编码,而不用于对整个URL进行编码
  • 因此在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码
  • 不编码的符号有,!'()*-._~0-9a-zA-Z
  • 对应的解码函数是decodeURIComponent()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文是对在正常网络请求的URL中哪些字符需要编码,为什么需要编码进行了说明 URI介绍 为什么需要URL编码 通常...
    王浮生阅读 317评论 0 0
  • 关于URL编码 一、问题的由来 URL就是网址,只要上网,就一定会用到。 一般来说,URL只能使用英文字母、阿拉伯...
    奶茶007阅读 486评论 0 1
  • 也许真的没有那么多的叛徒,只是各人的理想不同,价值选择不同,判断不同。得到好的结果,是胜利,就是真理,选择错误,就...
    蓑淼平生阅读 123评论 0 0
  • 90后的我们慢慢进去而立之年,很多人不知道我们该干什么?我们的目标在哪?其实我也一样,有着同样的疑问,每天问自己...
    b085d03e645c阅读 97评论 0 0
  • 文/新鲜 深圳大雨 今日深圳大雨,思绪也随着雨在走。 原本以为周末充好电后可以满血复活的进入到复习的状态,没想到还...
    新鲜wendy阅读 189评论 0 0

友情链接更多精彩内容