본문 바로가기

Web/Java Script

encodeURI()와 encodeURIComponent()의 차이



자바스크립트는 encodeURI()와 encodeURIComponent()를 내장함수를 제공한다. 둘의 차이점은 다음과 같다:


encodeURI('?a=b&c=d');  // "?a=b&c=d"
encodeURIComponent('?a=b&c=d');  // "%3Fa%3Db%26c%3Dd"
cs


encodeURIComponent()는 인수를 URI의 일부(프로토콜, 호스트 이름, 경로, query string 중 하나)라고 간주한다. 만약 전달인자가 =, ?, &를 포함한다면 해당 문자를 포함하여 인코딩한다.

반면 encodeURI()는 인수를 URI 전체라고 간주하며 파라미터 구분자인 =, ?, &를 인코딩하지 않는다.