如何在javascript中对url进行编码并在C#中对其进行解码

时间:2011-01-06 09:27:20

标签: c# javascript urldecode

我有一个带有查询字符串的网址,通过该网址传递一些数据。我想检索服务器端的数据。这个问题的解决方案是什么

3 个答案:

答案 0 :(得分:11)

您可以使用javascript的转义功能对网址进行编码。

Example : 
escape("It's me!") // result: It%27s%20me%21

使用Uri.UnescapeDataString()函数在C#中进行URL解码。

Example : 
s = "%46%69%67%68%74%20%74%68%65%20%70%6F%77";
Uri.UnescapeDataString(s); 

编辑-------------------------

在C#中使用

解析查询参数
NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);

希望这会有所帮助。

谢谢!

侯赛因

答案 1 :(得分:3)

您可以使用escape(http://www.w3schools.com/jsref/jsref_escape.asp)或encodeURI(http://www.w3schools.com/jsref/jsref_encodeuri.asp)在Javascript端进行编码。

在服务器端: 对于C# - 使用System.Web.HttpUtility.UrlDecode解码(http://msdn.microsoft.com/en-us/library/adwtk1fy.aspx) 对于Java - 使用URLDecoder进行解码(http://download.oracle.com/javase/1.5.0/docs/api/java/net/URLDecoder.html) 对于PHP - 使用urldecode(http://php.net/manual/en/function.urldecode.php

答案 2 :(得分:2)

  • Javascript unescape(_stringEncoded)与C#中的 HttpUtility.UrlDecode(_string)相同
  • Javascript 转义(_setringDecoded)与C#中的 HttpUtility.UrlEncode(_string)相同

Encode/Decode both

javascript编码

escape('raj kumar') //raj%20kumar

C#解码

HttpUtility.UrlDecode("raj%20kumar") //raj kumar