locoboy
locoboy

Reputation: 38930

Percent encoding javascript

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

Upvotes: 27

Views: 29294

Answers (4)

codemirror
codemirror

Reputation: 3572

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

Upvotes: 4

kirilloid
kirilloid

Reputation: 14304

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

Upvotes: 50

Yes, here is

escape('This Guy');

Upvotes: 2

Dr.Molle
Dr.Molle

Reputation: 117334

Try encodeURIComponent() or escape()

Upvotes: 34

Related Questions