javascript escape vs非ascii字符串的urlencode

GJa*_*ain 2 javascript

  • 上下文:HTML网页(jade/node.js/javascript)
  • image url包含带空格/非ascii字符的字符串
  • 我需要使用escape或urlencode对这些字符串进行编码.
  • 截至目前我正在使用escape来专门编码空格.

但我无法证明/理解我是否应该使用escape来编码字符串或者我应该使用encodeurlcomponent.我试过阅读一些在线博客但还没有理解.

在什么情况下应该使用哪个指针.

Dan*_*ett 6

  • escape() 不会编码: @*/+

  • encodeURI() 不会编码: ~!@#$&*()=:/,;?+'

  • encodeURIComponent() 不会编码: ~!*()'

有关更多信息,请查看以下问题:

在JavaScript中编码URL?

你什么时候应该使用escape而不是encodeURI/encodeURIComponent?