使用解码URIComponent用编码方法解码字符串女巫编码是否有问题



比如标题,我尝试用encodeURI方法编码一个字符串,用解码URIComponent方法解码结果,然后我发现解码字符串和原来的字符串一样。所以我想知道是否所有使用 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"

以下是所有函数的输出:

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

输出字符串来自encodeURIhttps://www.google.co.in/

输出字符串来自encodeURIComponenthttps%3A%2F%2Fwww.google.co.in%2F

现在你用decodeURI解码encodeURI的结果,decodeURIComponent它会给你相同的结果。但是,如果您解码encodeURIComponent的结果,它会给您以下结果。

输入字符串:https%3A%2F%2Fwww.google.co.in%2F

输出字符串来自decodeURIhttps%3A%2F%2Fwww.google.co.in%2F

输出字符串来自decodeURIComponenthttps://www.google.co.in/

所以结论是decodeURIComponent旨在解码所有内容,因此按照其规范使用它是安全的,这意味着decodeURIencodeURIdecodeURIComponentencodeURIComponent

最新更新