2010-11-02

escape encodeURI encodeURIComponent (javascript)

escape encodeURI encodeURIComponent

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

No comments:

Post a Comment

php Fatal error: Class 'DOMDocument'