특별한 일상

[JavaScript] JS URL 인코딩 & 디코딩 처리(url encoding or decoding) 본문

IT•개발 끄적/JavaScript

[JavaScript] JS URL 인코딩 & 디코딩 처리(url encoding or decoding)

소다맛사탕 2021. 6. 10. 20:54
반응형

안녕하세요. 소다맛사탕 입니다.

지난 포스팅에서는 String 으로 변환된 객체가 자바 서블릿으로 넘어갈 때 특수문자가 치환 되는것을 방지하는 것에 대해 알아보았는데요.

지난 포스팅 '[JAVA] HTML, MVC, Servlet 환경에서 특수문자 치환(  < > &a...'

 

이번 포스팅에서는 javascript의 인코딩 디코딩 관련 함수에 대해 알아보겠습니다.

 

인코딩과 디코딩

인코딩 ; 문자를 컴퓨터에 저장하거나 통신에 사용할 목적으로 부호화. 웹에서 통신시 한글 같은 유니코드 문자가 오작동을 일으킬 수 있으므로.

디코딩 ; 인코딩과 반대로 문자를 원래대로 되돌리는 것.

 

인코딩, 디코딩 함수

인코딩 / 디코딩 함수 설명
escape()  /   unescape() - 영문 알파벳과 숫자, 일부 특수문자를 제외하고 모두 인코딩.
특수문자(@, *, -, _, +, ... /)
- 1바이트 문자는 %XX의 형태로, 2바이트 문자는 %uXXXX 형태로 변환
encodeURI()   /   decodeURI() - escape() 함수에서 인터넷 주소에 사용되는 일부 특수문자는 변환하지 않음.
일부 특수문자(ex. https:// , https://와 같은 :, ;, /, =, ? , &)
encodeURIComponent()   /   
decodeURIComponent()
- 알파벳과 숫자를 제외한 모든 문자를 인코딩.
- UTF-8 인코딩

 

 

● 인코딩, 디코딩 예시

var testUrl = "https://develop-sense.tistory.com";
testUrl += "?lang=kor&manager=소다맛사탕";

// escape()
console.log("uri escape() :: "+escape(testUrl));

// encodeURI()
console.log("uri encodeURI() :: "+encodeURI(testUrl));

// encodeURIComponent()
console.log("uri encodeURIComponent() :: "+encodeURIComponent(testUrl));

----- 결과 -----

인코딩과 디코딩 예시 결과

 

 

Comments