What is the difference between the JavaScript functions decodeURIComponent
and decodeURI
?
Advertisement
Answer
To explain the difference between these two let me explain the difference between encodeURI
and encodeURIComponent
.
The main difference is that:
- The
encodeURI
function is intended for use on the full URI. - The
encodeURIComponent
function is intended to be used on .. well .. URI components that is any part that lies between separators (; / ? : @ & = + $ , #).
So, in encodeURIComponent
these separators are encoded also because they are regarded as text and not special characters.
Now back to the difference between the decode functions, each function decodes strings generated by its corresponding encode counterpart taking care of the semantics of the special characters and their handling.