字符串编码(escape、encodeURI、encodeURIComponent)
e.g
escape('C1tIc#@!') --> 'C1tIc%23@%21'
encodeURL('C1tIc#@!') --> 'C1tIc#@!'
encodeURIComponent('C1tIc#@!') --> 'C1tIc%23%40!'
复制代码
解析
escape: 该方法不会对ASCII字母和数字进行编码,也不会对下面这些ASCII标点符号进行编码: * @ - _ + . /
encodeURI: 该方法不会对ASCII字母和数字数字进行编码,也不会对下面这些ASCII标点符号编码:* @ - _ + . / ! ~ ' ( ) ; ? : & = $ , #
encodeURIComponent: 该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码:* - _ . ! ~ ' ( )
入坑背景
- 笔者遇到url请求携带特殊字符(+ / ? % # =)被截断bug,发送'C1tIc#@!'时后台接受'C1tIc'.