我在Chrome的控制台中输入了以下内容:

decodeURIComponent('a%AFc');

而不是导致a0xAFc,它导致了URIError异常(uri格式错误)。

我听过几个借口为什么可能这样做,但是我不明白为什么

特别是decodeURIComponent()函数应该解码数据,而不验证URI。
  • Wikipedia: Percent Encoding
  • RFC3986: URI Generic Syntax (2005)
  • 最佳答案

    %AF本身不是字符,而是Unicode序列( MACRON - %C2%AF )的一部分。
    %AF不是由encodeURIComponent生成的,而是由escape生成的,因此可以由unescape解码。

    您可能需要的是decodeURIComponent('%C2%AF')

    10-08 00:08