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\".
Yes, here is
escape('This Guy');
Try this encodeURIComponent()
var stringToDecode = "J&K";
var encodedString = encodeURIComponent(stringToDecode );
Use decodeURIComponent()
to decode it again when needed
More Info here
https://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_reserved_characters
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
Try encodeURIComponent() or escape()
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