일전에 자바스크립트에서 URL 인코딩 관련 내용을 포스팅한 적이 있습니다.
http://jamesdreaming.tistory.com/2
(위 URL 참조)
언급하지 않은 내용중 escape() 함수가 있습니다.
실질적으로 많이 쓰는 인코딩 및 디코딩 함수는 아래와 같습니다.
escape(URI) unescape(escapedURI) encodeURI(URI) decodeURI(encodedURI) encodeURIComponent(URI) decodeURIComponent(encodeURI) |
각각의 함수는 인코딩하는 정도의 차이가 있는데요.
그 차이점은 아래과 같습니다.
escape(URI)
- 영문 알파벳과 숫자, 일부 특수 문자(@, *, -, _, +, / 등등)을 제외하고 모두 인코딩
- 1바이트 문자 -> %XX 형식으로 변환
- 2바이트 문자 -> %uXXXX 형식으로 변환
encodeURI(URI)
- 인터넷 주소에 사용되는 일부 특수 문자(:, ;, /, =, ?, &)는 변환하지 않음
encodeURIComponent(URI)
- 알파벳과 숫자를 제외한 모든 문자를 인코딩
- UTF-8 인코딩과 동일
결과는 다르지만 인코딩이라는 동일한 역할을 하는 함수들인데요,
현재는 encodeURIComponent(URI) 함수를 가장 많이 사용하고 있습니다.
escape 같은 경우에는 + 기호를 인코딩 하지 않기 때문에 약간의 문제가 발생하고 있습니다.
그래서 최근엔 운영 환경에서 escape 를 사용하지 않습니다.
'javascript' 카테고리의 다른 글
[자바스크립트 코딩] 자바스크립트 배열 초기화 (491) | 2017.08.31 |
---|---|
[자바스크립트 코딩] 자바스크립트로 다른 URL 호출하기 (502) | 2017.08.28 |
자바스크립트 뒤로가기, javascript:history.back() (7) | 2017.07.20 |
javascript class 명 추가/삭제 (193) | 2017.07.18 |
자바스크립트(javascript)에서 URL 인코딩 (1517) | 2017.01.25 |