例如标题,我尝试用encodeURI方法编码一个字符串,并用encodeURIComponent方法解码结果。然后我发现解码字符串与原始字符串相同。所以我想知道是否所有字符串都使用可以使用encodeURIComponent解码encodeURI。
encodeURI("http://www.example.com?type=qqq&string=qqq+<>`www");
//"http://www.example.com?type=qqq&string=qqq+%3C%3E%60www"
decodeURIComponent("http://www.example.com?type=qqq&string=qqq+%3C%3E%60www");
//"http://www.example.com?type=qqq&string=qqq+<>`www"
答案 0 :(得分:1)
这是所有功能的输出:
输入字符串:https://www.google.co.in/
来自encodeURI
的输出字符串:https://www.google.co.in/
来自encodeURIComponent
的输出字符串:https%3A%2F%2Fwww.google.co.in%2F
现在,您用encodeURI
和decodeURI
解码decodeURIComponent
的结果,它将得到相同的结果。但是,如果您解码encodeURIComponent
的结果,它将得到以下结果。
输入字符串:https%3A%2F%2Fwww.google.co.in%2F
来自decodeURI
的输出字符串:https%3A%2F%2Fwww.google.co.in%2F
来自decodeURIComponent
的输出字符串:https://www.google.co.in/
因此结论是 decodeURIComponent
旨在解码所有内容,因此可以安全使用它,因为其规范意味着decodeURI
与encodeURI
和{{1 }}和decodeURIComponent
。