decodeURIComponent 함수: 인코딩된 URI 문자열을 해독하는 방법

Photo of author

By tutor

decodeURIComponent 함수: 인코딩된 URI 문자열을 해독하는 방법

decodeURIComponent 함수: 인코딩된 URI 문자열을 해독하는 방법

 

URI 문자열을 해독하는 방법: decodeURIComponent 함수

URI 인코딩이란?

URI(Uniform Resource Identifier)는 바이트 단위로 표현되는 문자열입니다. 웹에서는 대체로 URL(Uniform Resource Locator)이 사용되며 HTTP 요청 등에서 사용됩니다. 그렇지만 URI 문자열은 URL에서만 사용되는 것이 아니며 메일 주소, 파일 경로, XML 네임스페이스 등에서도 사용될 수 있습니다.

URI 인코딩은 특수 문자들(‘/’,’?’,’#’,etc)을 안전한 바이트 시퀀스로 변환하는 과정입니다. 이 변환 없이 URI를 사용하면 문제가 발생할 수 있습니다. 예를 들어, “/” 문자가 URL 경로에 포함된 경우, 서버가 새로운 경로로의 요청인지 아닌 일반 파일에 대한 요청인지 파악하기 어렵다는 문제가 있습니다. 따라서, URI 인코딩은 위와 같은 문제를 방지하기 위해 필수적입니다.

decodeURIComponent 함수란?

JavaScript에서 URI를 해독하기 위해 제공되는 함수가 바로 decodeURIComponent입니다. 이 함수는 매개변수로 전달된 인코딩된 문자열을 해독하여 원래 문자열로 변환합니다. 예를 들어, 다음 URL에 있는 문자열은 인코딩되어 있습니다.

https://www.example.com/search?q=%EC%BD%94%EB%93%9C%EB%A6%AC%EC%99%80%20%EB%B0%98%EC%9D%91%EC%9D%80%20%EC%96%B4%EB%A6%B0%EC%9D%B4%20%EB%90%98%EB%8A%94%20%EA%B2%83

하지만 decodeURIComponent 함수를 사용하면 인코딩된 문자열을 해독하여 원래 문자열을 볼 수 있습니다.

var url = "https://www.example.com/search?q=%EC%BD%94%EB%93%9C%EB%A6%AC%EC%99%80%20%EB%B0%98%EC%9D%91%EC%9D%80%20%EC%96%B4%EB%A6%B0%EC%9D%B4%20%EB%90%98%EB%8A%94%20%EA%B2%83";
var decodedUrl = decodeURIComponent(url);
console.log(decodedUrl); // "https://www.example.com/search?q=코드와 반듯은 어린이 되는 것"

결론

JavaScript의 decodeURIComponent 함수는 URL 인코딩된 문자열을 해독하여 원래 문자열을 가져오는데 사용할 수 있습니다. 이는 URI 문자열을 안전하게 사용할 수 있도록 해주며 다양한 분야에서 중요한 역할을 합니다

자바스크립트 decodeURIComponent 함수