转义与encodeURI/encodeURIComponent:使用注意事项
对要发送到 Web 服务器的查询字符串进行编码时,可以选择使用escape()和encodeURI()/encodeURIComponent()取决于具体需要application.
escape()
escape() 是一个遗留函数,不再建议使用。由于其不良特性,它已被弃用,取而代之的是encodeURI() 和encodeURIComponent()。具体来说,escape() 对除 @*_ -./ 之外的特殊字符进行编码,并且对代码单元值为 0xFF 或更小的字符使用两位数的十六进制转义序列。根据 RFC3986 中的定义,查询字符串中不允许使用此格式。当需要工作 URL 时,应使用
encodeURI()
encodeURI()。它对不属于 URI 规范的字符进行编码,例如空格和非字母数字字符。但是,encodeURI() 不会对 ' 字符进行编码。
encodeURIComponent()
encodeURIComponent() 在对 URL 参数的值进行编码时应使用。它对 URI 组件中无效的字符进行编码,例如空格和非字母数字字符。此外,encodeURIComponent() 不会对 ' 字符进行编码。
使用指南
以上是encodeURI() 与encodeURIComponent():何时使用哪个进行 URL 编码?的详细内容。更多信息请关注PHP中文网其他相关文章!