2

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

4

3 回答 3

5

URLEncode 方法将 URL 编码规则(包括转义字符)应用于指定的字符串。

URLEncode 转换字符如下:

空格 ( ) 转换为加号 (+)。

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

另外,我认为您正在谈论HttpServerUtility.UrlDecode解码编码字符串并返回原始字符串的方法。

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

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

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

更多信息 ...

Server.URLEncode

HttpServerUtility.UrlDecode

于 2012-05-18T14:08:27.693 回答
2

它取自这里

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  
于 2012-05-18T14:08:57.130 回答
1

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

于 2012-05-18T14:04:16.663 回答