Existem 69 caracteres que o escape não codifica: *, +, -, ., /, @, _, 0-9, az, AZ
Existem 82 caracteres que encodeURI não codifica:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~, 0-9,az,AZ
encodeURIComponent não codifica 71 caracteres: !, ', (,), *, -, ., _, ~, 0-9, az, AZ
1.
JS: escapar:
Você pode usar escape ao usar dados em js
Por exemplo: registro histórico na coleção.
Ao codificar valores Unicode diferentes de 0-255, o formato %u**** é gerado. Em outros casos, os resultados da codificação de escape, encodeURI e encodeURIComponent são os mesmos.
Decodificação usando: unscape
C#:
HttpUtility.UrlEncode
HttpUtility.UrlDecode
2.
JS: codificarURI:
Você pode usar o encodeURI como um todo ao fazer saltos de URL.
Por exemplo: Location.href=encodeURI("http://cang.baidu.com/do/s?word=Baidu&ct=21");
Decodifique usando decodeURI();
C#: decodeURIComponent
3.
JS: encodeURIComponent:
Você precisa usar encodeURIComponent ao passar parâmetros, para que a URL combinada não seja truncada por caracteres especiais como #.
Por exemplo: <script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&
u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">Sair</a& gt;');</script>
Decodifique usando decodeURIComponent()
C#:
[HttpContext.Current.]Server.UrlDecode
[HttpContext.Current.]Server.UrlEncode