使用decodeURIComponent解码使用编码方法编码的字符串是否有问题

问题描述 投票:1回答:1

比如标题,我试着用encodeURI方法编码一个字符串,然后用decodeURIComponent方法解码结果。然后我发现解码字符串和原始字符串一样。所以我想知道所有用encodeURI编码的字符串是否都可以使用decodeURIComponent解码。

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"
javascript urlencode
1个回答
1
投票

这是所有功能的输出:

输入字符串:https://www.google.co.in/

来自encodeURI的输出字符串:https://www.google.co.in/

来自encodeURIComponent的输出字符串:https%3A%2F%2Fwww.google.co.in%2F

现在你用encodeURIdecodeURI解码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旨在解码一切,所以使用它是安全的,因为它的规格意味着decodeURIencodeURIdecodeURIComponentencodeURIComponent

© www.soinside.com 2019 - 2024. All rights reserved.