Basicamente o escape do javascript serve para codificar caracteres especiais e o unescape para decodificar.
<script type="text/javascript">
alert(escape("escape em C#?"));
//resultado: escape%20em%20C%23%3F
alert(unescape("escape%20em%20C%23%3F"));
//resultado: escape em C#?
//Para URLs use encodeURI()
</script>
No C# o escape seria equivalente a linha abaixo.
HttpUtility.UrlEncode("escape em C#?", System.Text.Encoding.Default)
//Resultado: escape+em+C%23%3f
E o unescape no C# seria assim:
HttpUtility.UrlDecode("escape+em+C%23%3f", System.Text.Encoding.Default)
//Resultado: escape em C#?