Server.UrlEncode& Server.UrlDecode

时间:2012-05-18 14:00:09

标签: c# asp.net

我不知道,为什么我们使用Server.UrlEncode()& Server.UrlDecode()? 在QueryString中,我们在URL中看到任何内容,那么为什么我们要编码或解码呢?

3 个答案:

答案 0 :(得分:4)

  

URLEncode方法应用URL编码规则,包括转义   字符,到指定的字符串。

     

URLEncode按如下方式转换字符:

     

Spaces()被转换为加号(+)。

     

非字母数字字符转义为十六进制   表示。

此外,我认为您正在讨论HttpServerUtility.UrlDecode方法,该方法对已编码的字符串进行解码并返回原始字符串。

  

URL解码字符串并返回解码后的字符串

     

URL编码可确保所有浏览器都能正确传输文本   网址字符串。问号(?),&符号(&)等字符,   斜杠标记(/),某些空格可能会被截断或损坏   浏览器。因此,这些字符必须以标签或文件编码   在查询字符串中,字符串可以由浏览器重新发送   请求字符串。

     

UrlDecode是访问HttpUtility.UrlDecode的便捷方式   从ASP.NET应用程序运行时的方法。在内部,UrlDecode   使用HttpUtility.UrlDecode来解码字符串。

更多信息......

Server.URLEncode

HttpServerUtility.UrlDecode

答案 1 :(得分:2)

It is taken from here

URLEncode按如下方式转换字符:

Spaces ( ) are converted to plus signs (+).

Non-alphanumeric characters are escaped to their hexadecimal representation.
<%Response.Write(Server.URLEncode("http://www.microsoft.com")) %> 

produces the following output:

http%3A%2F%2Fwww%2Emicrosoft%2Ecom  

答案 2 :(得分:1)

某些字符在网址中不合法,因此必须对其进行编码。 This是我发现的第一个非法字符列表。