Percent encoding javascript

locoboy picture locoboy · Feb 6, 2011 · Viewed 20.7k times · Source

Is there a javascript function that takes a string and converts it into another string that is percent-encoded? That way something like "This Guy" turns into "This%20Guy".

Thanks

Answer

kirilloid picture kirilloid · Feb 6, 2011

encodeURI, encodeURIComponent or escape will work the same way for your string, but they differ in details.

encodeURI is just for escaping URLs
encodeURIComponent also escapes = and &
escape works differently with non-ASCII unicode symbols

encodeURI("Ω") === encodeURIComponent("Ω") === "%CE%A9"
escape("Ω") === "%u03A9"

if you need to send a string as part of request, use encodeURIComponent