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));
----- 결과 -----