如何解决一些特殊字符和数字的Url编码和解码问题

时间:2013-07-20 17:27:34

标签: c# asp.net encoding decode request.querystring

我在数据库中保存了一些url数据,数据以加密格式保存,如下所示:

i.e: Wwrjf5OxVEznsWInNFwucg== 

没关系但加时间加密就像这样

i.e: Wwrjf5OxV+EznsWInNFwucg==

在那种情况下我读了 Request.QueryString [“QueryString”]或Request.Params [“Params”]

然后我会得到加密之间的空格的字符串,如果加密之间有一个“+”的值,那么我如何在QueryString或Params read中解决这个“+”问题。

请让我知道解决此问题的击球手解决方案

谢谢

2 个答案:

答案 0 :(得分:1)

你已经在你的标题中回答了这个问题......你需要在它进入你的QueryString之前对它进行URL编码,并在它返回时解码它。

写:

Request.QueryString["QueryString"] = HttpUtility.UrlEncode(myEncryptedString);

读:

var encryptedResult = HttpUtility.UrlDecode(Request.QueryString["QueryString"]);

答案 1 :(得分:0)

您可以将其用于网址编码和解码。

string encodedUrl = HttpContext.Current.Server.UrlEncode(Request.QueryString["QueryString"]);
string decodedUrl = HttpContext.Current.Server.UrlDecode(encodedUrl);