이스케이프가 인코딩하지 않는 문자는 69개입니다: *, +, -, ., /, @, _, 0-9, az, AZ
encodeURI가 인코딩하지 않는 문자는 82개입니다:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~, 0-9,az,AZ
encodeURIComponent는 71자(!, ', (,), *, -, ., _, ~, 0-9, az, AZ)를 인코딩하지 않습니다.
1.
JS: 탈출:
js에서 데이터를 사용할 때 이스케이프를 사용할 수 있습니다.
예: 컬렉션의 역사 기록.
0~255 이외의 유니코드 값을 인코딩할 경우 %u**** 형식이 출력되며 그 외의 경우 escape, encodeURI, encodeURIComponent의 인코딩 결과는 동일합니다.
다음을 사용하여 디코딩: 이스케이프 해제
기음#:
HttpUtility.UrlEncode
HttpUtility.UrlDecode
2.
JS: encodeURI:
URL 점프를 할 때 encodeURI를 전체적으로 사용할 수 있습니다.
예: Location.href=encodeURI("http://cang.baidu.com/do/s?word=Baidu&ct=21");
decodeURI()를 사용하여 디코딩합니다.
C#: 디코드URI컴포넌트
3.
JS: encodeURIComponent:
매개변수를 전달할 때 encodeURIComponent를 사용해야 결합된 URL이 #과 같은 특수 문자로 인해 잘리지 않습니다.
예: <script 언어="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&
u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">종료</a& gt;');</script>
decodeURIComponent()를 사용하여 디코딩
기음#:
[HttpContext.Current.]Server.UrlDecode
[HttpContext.Current.]Server.UrlEncode