자바스크립트(JavaScript)에서는 다음의 함수들로, HTML 페이지 주소를 인코딩/디코딩 한다.
encodeURI() / decodeURI()
최소한의 문자만 인코딩 한다.
; / ? : @ & = + $ , - _ . ! ~ * ' ( ) # 문자는 인코딩 하지 않는다.
ex) http://openeg.co.kr/key=한글
http://openeg.co.kr/key=%ED%95%9C%EA%B8%80
encodeURIComponent() / decodeURIComponent()
알파벳과 숫자외의, 대부분의 문자를 모두 인코딩한다.
ex) http://openeg.co.kr/key=한글
http%3A%2F%2Fopeneg.co.kr%2Fkey%3D%ED%95%9C%EA%B8%80
escape() / unescape()
예전부터 있던 오래된 함수다. (* @ - _ + . /) 문자는 인코딩하지 않는다.
ex) http://openeg.co.kr/key=한글
http%3A//openeg.co.kr/key%3D%uD55C%uAE00
자바에서는 URLEncoder/URLDecoder 클래스를 사용하여 웹에서 통용되는 'x-www-form-urlencoded'형식으로 변환하거나 인코딩된 문자열을 다시 역변환하는 작업을 수행한다.
URLEncoder는 대소문자, 숫자, 밑줄을제외한 URL에 있는 모든 문자를 코드화 한다.
URLEncoder 변환규칙
- 아스키문자(a~z, A~Z, 1~9), '.', '-', '*', '_' : 그대로 전달
- 공백문자(' ') : '+' 기호로 변환
- 기타문자 : '%xy' 와 같이 세 개의 문자로 변환
xy는 해당 문자의 ASCII코드를 16진수화한 결과를 두자리의 대문자로 나타낸 것.
(사용예)
String data= URLEncoder.encode("http://한글/", "UTF-8");
String origin= URLDecoder.decode(data, "UTF-8");
'프로그래밍 > WEB FRONT END' 카테고리의 다른 글
[자바스크립트] 3장. 기본데이터 조작하기 내장형 객체 (0) | 2013.12.26 |
---|---|
[자바스크립트] 2장. 기본적인 작성법 익히기 (0) | 2013.12.26 |
[자바스크립트] 1장. 자바스크립트란 (0) | 2013.12.26 |
자바에서 XPath 사용 하기 (0) | 2013.07.07 |
자바에서 XQueryY 사용법 (0) | 2013.07.07 |