我在 Chrome 的控制台中输入了以下内容:
decodeURIComponent('a%AFc');
它没有导致 a0xAFc
,而是导致 URIError 异常(格式不正确的 uri)。
我听过几个解释为什么这可能是可能的,但我不明白的是为什么?
decodeURIComponent()
函数应该解码数据,而不是验证 URI。
最佳答案
%AF
本身不是一个字符,而是 Unicode 序列 ( MACRON - %C2%AF
) 的一部分。
%AF
不是由 encodeURIComponent
产生的,而是类似 escape
的东西,所以它可以被 unescape
解码>.
您可能需要的是 decodeURIComponent('%C2%AF')
关于Javascript decodeURI(Component) 格式错误的 uri 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9064536/