Javascript URLEncode 비교

-- JavaScript 2011. 12. 2. 00:11
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
descript)
encodes special characters

위의 함수들의 설명을 보면 모두 문자를 영문, 숫자를 제외한 문자들중에 각각의 예외를 제외하고 unicode 형태(웹 이므로 utf-8)로 인코딩한다. 각각의 예외는 encodes는 (* @ - _ + . /) encodeURI는 (, / ? : @ & = + $ #) encodeURIComponent 는 예외가 없다.

그러므로 encodeURI로 주소 전체를 인코드 하더라도 주소로 사용할수 있으며, encodeURIComponent는 주소 전체를 get 방식으로 전달 할 수 있다.

그리고 각각 unescape(), decodeURI(), decodeURIComponent() 로 decode 할수 있다


sample)
document.write( escape("http://abcd.efg?a=123&b=abc&c=가나다&d=`+_';r@#$%") );
document.write( encodeURI("http://abcd.efg?a=123&b=abc&c=가나다&d=`+_';r@#$%") );
document.write( encodeURIComponent ("http://abcd.efg?a=123&b=abc&c=가나다&d=`+_';r@#$%") );


result)
http%3A//abcd.efg%3Fa%3D123%26b%3Dabc%26c%3D%uFFFD%uFFFD%uFFFD%uFFFD%uFFFD%uFFFD%26d%3D%60+_%27%3Br@%23%24%25
http://abcd.efg?a=123&b=abc&c=%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD&d=%60+_';r@#$%25
http%3A%2F%2Fabcd.efg%3Fa%3D123%26b%3Dabc%26c%3D%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%26d%3D%60%2B_'%3Br%40%23%24%25

출처 : http://pyungyi.blogspot.com/2010/11/escape-encodeuri-encodeuricomponent.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Pyungyi+%28pyungyi%29

'-- JavaScript' 카테고리의 다른 글

[CrossBrowser] 팝업 닫기  (0) 2012.06.21
Javascript OOP개념  (0) 2012.02.20
javascript ajax 구현  (0) 2011.12.01
javascript으로 trim, ltrim, rtirm 구현  (0) 2011.11.30
Javascript Closure  (0) 2011.11.17
posted by 어린왕자악꿍