美文网首页
JS 内置对象之编码与解码

JS 内置对象之编码与解码

作者: sky丶星如雨 | 来源:发表于2018-03-07 09:14 被阅读0次

    URI 编码方法:
    Global 对象的 encodeURI() 和 encodeURIComponent() 方法对 URI 进行编码,以便发送给浏览器。有效的 URI 不能包含某些字符,例如空格,而这两个 URI 编码方法就可以对 URI 进行编码,它们用特殊的 UTF-8 编码替换所有无效的字符,从而让浏览器能够接受和理解。
    其中,endodeURI() 主要用于整个URI,而 encodeURIComponent() 主要用于对 URI 中的某一段进行编码。
    它们的区别在于,encodeURI() 不会对本身属于 URI 的特殊字符进行编码,例如冒号、正斜杠、问好等;而 encodeURIComponent() 则会对它发现的任何非标准字符进行编码。

        var url = "http://www.wrox.com/illegal value.htm#start";
        alert(encodeURI(url)); // http://www.wrox.com/illegal%20value.htm#start
        alert(encodeURIComponent(url)); // http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start
    

    使用 encodeURI() 编码后的结果是除了空格之外的其他字符都原封不动,只有空格替换成了 %20。 而 encodeURIComponent(),方法则会使用对应的编码替换所有非字母数字字符。这也正是可以对整个 URI 使用 encodeURI(),而只能对附加在现有 URI 后面的字符串使用 encodeURIComponent() 的原因所在。

    ——————————————————————————————————————————————————————
    与之对应的解码方法为 decodeURI() 和 decodeURIComponent() 。对应的 decodeURI() 只能对使用 encodeURI() 替换的字符进行解码。decodeURIComponent() 能够解码使用 encodeURIComponent() 编码
    的所有字符

        var url = "http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.htm%23start";
        alert(decodeURI(url)); // http%3A%2F%2Fwww.wrox.com%2Fillegal value.htm%23start
        alert(decodeURIComponent(url)); // http://www.wrox.com/illegal value.htm#start
    

    相关文章

      网友评论

          本文标题:JS 内置对象之编码与解码

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