Home > Blockchain >  Difference between encodeURLParameter, encodeURLPath and encodeURLQueryComponent?
Difference between encodeURLParameter, encodeURLPath and encodeURLQueryComponent?

Time:09-29

In Ktor there are those three String extension functions.

Semantically it is almost clear what they do (not completely clear).

In practical terms, I'm not sure what they do.

If I want to encode a part of a url path (like/<<this>>/here) what should I use?

If I want to encode a string that may contain / chars that I dont want escaped (ie hello/beautiful/world)?

If I want to encode a string that contains both / and spaces or http special chars like: this/is seriously/weird?

If I want to encode a string that goes into a query param?

If I want to encode a string that is both the key and the value of a query param?

CodePudding user response:

If I want to encode a part of a url path (like/<<this>>/here) what should I use?

"<<this>>".encodeURLPathPart()

If I want to encode a string that may contain / chars that I dont want escaped (ie hello/beautiful/world)?

"hello/beautiful/world".encodeURLPath()

If I want to encode a string that contains both / and spaces or http special chars like: this/is seriously/weird?

// It depends on how do you want to encode it
"this/is seriously/weird".encodeURLParameter(spaceToPlus = true)
"this/is seriously/weird".encodeURLParameter()
"this/is seriously/weird".encodeURLPathPart()

If I want to encode a string that goes into a query param?

If I want to encode a string that is both the key and the value of a query param?

"param key/value".encodeURLQueryComponent(encodeFull = true)
  • Related