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
encodeURIfunction is intended for use on the full URI. - The
encodeURIComponentfunction 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.