百分比编码javascript

loc*_*boy 21 javascript jquery percent-encoding

是否有一个javascript函数,它接受一个字符串并将其转换为另一个百分比编码的字符串?那样的"This Guy"变成了"This%20Guy".

谢谢

Dr.*_*lle 29

尝试encodeURIComponent()escape()

  • 注意:这不适用于对字符“%”本身进行编码。我花了很长时间才发现我必须使用“encodeURI” (2认同)

kir*_*oid 29

encodeURI,encodeURIComponentescape将以相同的方式为您的字符串工作,但它们的细节不同.

encodeURI仅用于转义URL
encodeURIComponent也可以转义,=并且&
escape与非ASCII unicode符号的工作方式不同

encodeURI("?") === encodeURIComponent("?") === "%CE%A9"
escape("?") === "%u03A9"
Run Code Online (Sandbox Code Playgroud)

如果您需要在请求中发送字符串,请使用encodeURIComponent

  • 这应该是公认的答案,因为它还解释了一些差异,..而不是当前接受的答案:尝试encodeURIComponent()或escape() (5认同)