为什么需要对URL进行编码和解码?

为什么需要对URL进行编码和解码?,url,urlencode,Url,Urlencode,我已经看过问题了 但我仍然感到困惑: 为什么W3C只允许URL中存在更多字符?这样就可以避免编码 为什么存在解码 字符的URL表示可能与代码中的字符不同。换句话说,有一个特定的语法定义了URL的组装方式。需要对用于形成URL的特殊字符进行编码,以便它们不会导致意外结果 现在更具体地回答您的问题: 它们可能已经允许您考虑的某些字符,但是这些字符(例如,&、)被赋予了特殊的意义,以某种方式发挥作用。因此,它们不能在不同的上下文中使用。从您发布的问题的链接来看,在空格字符的示例中,它看起来也是不受支

我已经看过问题了

但我仍然感到困惑:

  • 为什么W3C只允许URL中存在更多字符?这样就可以避免编码
  • 为什么存在解码

字符的URL表示可能与代码中的字符不同。换句话说,有一个特定的语法定义了URL的组装方式。需要对用于形成URL的特殊字符进行编码,以便它们不会导致意外结果

现在更具体地回答您的问题:

  • 它们可能已经允许您考虑的某些字符,但是这些字符(例如,&、)被赋予了特殊的意义,以某种方式发挥作用。因此,它们不能在不同的上下文中使用。从您发布的问题的链接来看,在空格字符的示例中,它看起来也是不受支持的,因为它在使用时会带来问题

  • Decode对于在应用程序中对URL进行编码以进行操作/其他功能之前对URL进行解码以获取URL的字符串表示非常有用


  • 字符的URL表示形式可能与代码中的字符不同。换句话说,有一个特定的语法定义了URL的组装方式。需要对用于形成URL的特殊字符进行编码,以便它们不会导致意外结果

    现在更具体地回答您的问题:

  • 它们可能已经允许您考虑的某些字符,但是这些字符(例如,&、)被赋予了特殊的意义,以某种方式发挥作用。因此,它们不能在不同的上下文中使用。从您发布的问题的链接来看,在空格字符的示例中,它看起来也是不受支持的,因为它在使用时会带来问题

  • Decode对于在应用程序中对URL进行编码以进行操作/其他功能之前对URL进行解码以获取URL的字符串表示非常有用