본문 바로가기
Script/Javascript

자바스크립트 escape, encodeURI, encodeURIComponent 차이점

by 애플 로그 2021. 11. 9.
반응형

자바스크립트 escape, encodeURI, encodeURIComponent 차이점

자바스크립트의 escape, encodeURI, encodeURIComponent 각각의 차이점이 무엇이 있는지 알아보자.

escape  ( unescape() )

escape('http://naver.com/한글');

결과 : "http%3A//naver.com/%uD55C%uAE00"

 

ASCII글자 그외의 글자는 모두 인코딩 한다.

 

-------------------------------------------

아스키 문자리스트 ( 69개 )

 

ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

1234567890

@*-_+./

-------------------------------------------

 

 

encodeURI  ( decodeURI )

URI에 사용하는 일부 ":", ";", "/", "?" 등의 문자를 엔코드하지 않으므로, 

인코딩이 필요하면 별도로 에스케입 시켜야 한다.

주소 문자를 엔코드하려면 encodeURIComponent를 사용하라.

 

 

encodeURI('http://naver.com/한글');

결과 : "http://naver.com/%ED%95%9C%EA%B8%80"

 

 

encodeURIComponent  ( decodeURIComponent )

개인적으로 이 녀석을 제일 많이 사용한다.

URI에 사용하는 일부 ":", ";", "/", "?" 등의 문자까지도 엔코드 한다.

encodeURIComponent 메서드는 모든 문자를 엔코드하므로 문자열이 /folder1/folder2/default.html와 같은 경로를 나타낼 경우 주의 하는것이 좋다.

웹 서버에 요청을 보낼 경우 슬래시 문자가 엔코드되므로 적합하지 않는다. 문자열에 URI 구성요소가 두개 이상 들어 있으면 encodeURI 메서드를 사용하라.

 

encodeURIComponent('http://naver.com/한글');

결과  : "http%3A%2F%2Fnaver.com%2F%ED%95%9C%EA%B8%80"

 

인코딩 예제를 이해하기 쉽도록 URL로 하였는데, 

보통  파라미터 넘겨줄때  할때 특수문자 한글등 때문에

나같은 경우는 encodeURIComponent 를 많이 쓴다.

 

 

 

2021.08.12 - [분류 전체보기] - 자바스크립트 브라우저 확인 소스( navigator.userAgent )

 

자바스크립트 브라우저 확인 소스( navigator.userAgent )

자바스크립트 브라우저 확인 소스( navigator.userAgent ) 브라우저별 혹은 모바일, PC별 다른방식의 처리나 코드를 다르게 적용해야할때가 분명히 있다. 브라우저 종류도 많지만 각 디바이스 종류

www.appletong.com

 

 

2021.10.25 - [분류 전체보기] - 자바스크립트 호이스팅 Hoisting 이란?? ( 아주 쉽게 설명 )

 

자바스크립트 호이스팅 Hoisting 이란?? ( 아주 쉽게 설명 )

자바스크립트 호이스팅 Hoisting 호이스팅이란 변수나 함수가 어디서 선언이 되든지간에 최상단에 위치하게 되어 동일 스코프 에서는 어디서든 참조 할수 있다는 것을 말한다. 코드

www.appletong.com

 

 

2021.06.25 - [Script/Javascript] - 자바스크립트 \r(줄바꿈, 엔터)을
로 변경

 

자바스크립트 \r(줄바꿈, 엔터)을
로 변경

자바스크립트 \r(줄바꿈, 엔터)을 로 변경 \r 또는 \r\n 줄바꿈 개행 문자를 html tag 로 변경해야할때가 있다. 그럴떄 사용하면 유용하다. < 엔터값(\r\n) -> BR 태그 로 변경 > function(str) replaceBrTag..

www.appletong.com

댓글