본문 바로가기
개발/Javascript, ECMAScript

encodeURI

by 언제나초심. 2019. 2. 21.
반응형

encodeURI


URI 에 대해 특별한 의미를 갖는 문자들은 인코딩 하지 않음.

인코딩 되는 것

* 공백은 %20 로 인코딩.



인코딩 되지 않는 것

* 다음 특수문자들은 인코딩 하지 않음 (;,/?:@&=+$#)

* https: 같은 부분은 인코딩 되지 않음

* 알파벳 등은 인코딩 되지 않음

* 예약되지 않은 마크 등은 인코딩 하지 않음. (-_.!~* 등)



예시

encodeURI("http://www.google.com/results with spaces#some-anchor")

http://www.google.com/results%20with%20spaces#some-anchor



encodeURIComponent


인코딩 되는 것

* 공백은 %20으로 인코딩

* 다음 특수문자들도 인코딩 (;,/?:@&=+$#)



인코딩 되지 않는 것

* 알파벳 등은 인코딩 하지 않음

* 예약되지 않은 마크 등은 인코딩 하지 않음. (-_.!~* 등)




비교 예시)

encodeURI : http://www.google.com/results%20with%20spaces#some-anchor

encodeURIComponent : http%3A%2F%2Fwww.google.com%2Fresults%20with%20spaces%23some-anchor



덤으로 

php 의 filter_input : encodeURI 와 대충 비슷함. 크게 차이 안 난다고 보면 됨. 공백 정도를 필터링.

반응형