escape() / unescape()
자바스크립트 함수 중에 escape()라는 함수가 있는데, 이는 ASCII 문자열을 URL 인코딩 문자열(ISO Latin-1 [ISO 8859-1])로 바꾸어주는 함수다.
unescape() 함수는 escape() 함수를 사용하여 인코딩된 문자를 원래대로 되돌려주는 역할을 한다.
encodeURI() / decodeURI()
escape()와 unescape() 함수는 사용법이 간단하지만, ASCII 외의 문자에는 동작하지 않는 문제점이 있다. encodeURI()와 decodeURI()라는 함수를 사용하면, ASCII 외의 문자도 인코딩/디코딩이 가능하다.
URI 인코딩을 해야 하는 문자들
분류 | 문자 |
---|---|
예약 문자 | ; , / ? : @ & = + $ |
인코딩하지 않는 문자 | 알파벳, 십진수 숫자, - _ . ! ~ * ' ( ) |
스코어 | # |
encodeURIComponent() / decodeURIComponent()
이 외에도 URI 인코딩에 사용는 함수는 encodeURICOmponent()와 decodeURIComponent() 두 가지가 더 있다. 이들은 &, +, = 기호를 인코딩 해주기 때문에 Ajax 연산에서 사용된다.
예제
var url = 'http://www.tistory.com/category/index.jsp?id=나&pass=너&group=우리';
document.write(url + "\n");
document.write(escape(url) + "\n");
document.write(encodeURI(url) + "\n");
document.write(encodeURIComponent(url) + "\n");
'Programming > JavaScript' 카테고리의 다른 글
[JavaScript] 이벤트 핸들링 addEventListener, attachEvent (크로스 브라우저) (0) | 2010.10.20 |
---|---|
[JavaScript] 이벤트 객체 접근 (크로스 브라우저) (0) | 2010.10.18 |
[JavaScript] 함수 (0) | 2010.10.15 |
[JavaScript] 데이터 타입과 변수 (2) (0) | 2010.10.13 |
[JavaScript] 데이터 타입과 변수 (1) (0) | 2010.10.12 |