개념 및 사용 방법
decodeURI()
함수는
encodeURI()
로 인코딩한 URL을 디코딩할 때 사용하는 함수입니다.
즉, encodeURI()
로 인코딩한 특수문자만을 디코딩합니다.
특징
encodeURI()
가 인코딩하지 않는 문자(예:/
,?
,:
,&
,#
)는 디코딩하지 않습니다.- 이러한 문자가 포함된 URL을 디코딩하려면 대신
decodeURIComponent()
를 사용하세요.
기본 예제
const uri = "https://www.example.com/?x=샘플 값";
const encoded = encodeURI(uri);
console.log(encoded);
// 출력: "https://www.example.com/?x=%EC%83%98%ED%94%8C%20%EA%B0%92"
const decoded = decodeURI(encoded);
console.log(decoded);
// 출력: "https://www.example.com/?x=샘플 값"
decodeURI()
함수의 형식은 다음과 같습니다.
구문
decodeURI(encodedURI)
매개변수
encodedURI |
디코딩할 인코딩된 URI 문자열입니다. |
---|
반환 값
주어진 인코딩된 encodedURI
를 디코딩한 새 문자열을 반환합니다.
decodeURI()
함수에서 디코딩되지 않는 문자
encodeURI()
함수로 인코딩한 문자만 해독하여 디코딩합니다. 하지만 #
문자는 디코딩되지 않습니다.
예제
const encodedURI = "https://example.com/%EC%9D%B4%EB%A9%94%EC%9D%BC"; // 인코딩된 URI
const decodedString = decodeURI(encodedURI); // 디코딩된 문자열
console.log(decodedString); // 출력: "https://example.com/이메일"
주의할 점
encodeURIComponent()
함수를 사용해서 인코딩한 URI을 decodeURI()
함수로 디코딩할 경우 일부분만 디코딩될 수 있으니 주의해야 합니다.
const uriComponent = "https://www.example.com/search?q=JavaScript & Web Development";
const encodedUriComponent = encodeURIComponent(uriComponent);
console.log(encodedUriComponent);
// 출력: "https%3A%2F%2Fwww.example.com%2Fsearch%3Fq%3DJavaScript%20%26%20Web%20Development"
const decodedUri = decodeURI(encodedUriComponent);
console.log(decodedUri);
// 출력: "https%3A%2F%2Fwww.example.com%2Fsearch%3Fq%3DJavaScript %26 Web Development"
위 예제에서 보듯이 encodeURIComponent()
함수를 사용해서 인코딩한 URI을 decodeURI()
함수로 디코딩할 경우 일부분만 디코딩될 수있습니다. 이럴 경우에는 decodeURIComponent()
함수를 사용해서 디코딩해야 합니다.
const uriComponent = "https://www.example.com/search?q=JavaScript & Web Development";
const encodedUriComponent = encodeURIComponent(uriComponent);
console.log(encodedUriComponent);
// 출력: "https%3A%2F%2Fwww.example.com%2Fsearch%3Fq%3DJavaScript%20%26%20Web%20Development"
const decodedUri = decodeURIComponent(encodedUriComponent);
console.log(decodedUri);
// 출력: "https://www.example.com/search?q=JavaScript & Web Development"
명세서
명세서 사양 | |
---|---|
decodeURI()
|
ECMAScript Language Specification #sec-decodeuri-encodeduri |
브라우저 호환성
함수 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
decodeURI()
|
1 | 12 | 1 | 1.1 |