美文网首页
编码方式: escape,encodeURI,encodeURI

编码方式: escape,encodeURI,encodeURI

作者: phoebe__liu | 来源:发表于2021-03-27 15:26 被阅读0次

    escape对字符串(string)进行编码

    编码之后的效果是%XX或者%uXXXX这种形式
    其中 ASCII字母 数字 @*/+ 这几个字符不会被编码,其余的都会

    var a = escape("简书")
    // "%u7B80%u4E66"
    解码
    unescape(a)
    //简书
    

    encodeURI和encodeURIComponent对URL进行编码,也是最常用的

    区别: 编码的字符范围
    encodeURI方法不会对下列字符编码 ASCII字母 数字 ~!@#$&()=:/,;?+'encodeURIComponent方法不会对下列字符编码 ASCII字母 数字 ~!()'所以encodeURIComponent比encodeURI编码的范围更大。

    encodeURI

    var b = encodeURI('https://www.jianshu.com/jian s hu')
    //  "https://www.jianshu.com/jian%20s%20hu"
    解码
    decodeURI(b) 
    //"https://www.jianshu.com/jian s hu"
    

    encodeURIComponent

     encodeURIComponent('https://www.jianshu.com/jian s hu')
    //"https%3A%2F%2Fwww.jianshu.com%2Fjian%20s%20hu"
    

    当需要用到编码URL中的参数时,encodeURIComponent是最合适的。

    var param = "http://www.jianshu.com/?a=1$b=2"; //param为参数
    param = encodeURIComponent(param);
    var url = "http://www.baidu.com?url=" + param;
    console.log(url)
    // http://www.baidu.com?url=http%3A%2F%2Fwww.jianshu.com%2F%3Fa%3D1%24b%3D2
    解码param
    decodeURIComponent(param)
    // "http://www.jianshu.com/?a=1$b=2"
    

    第一次用到时在传"合同链接"时用到的,这里记录下加深印象

    相关文章

      网友评论

          本文标题:编码方式: escape,encodeURI,encodeURI

          本文链接:https://www.haomeiwen.com/subject/lihthltx.html