strong text给出一个已编码n次的字符串,如果我不知道n的值,如何解码字符串给我简单的未编码字符串。
澄清:
Initial : /unencoded?string/
Encoded Once : %2Funencoded%3Fstring%2F
Encoded Twice: %252Funencoded%253Fstring%252F
Encoded Three Times: %25252Funencoded%25253Fstring%25252F
我如何从%25252Funencoded%25253Fstring%25252F
到/unencoded?string/
而不知道它被编码了三次?
我知道我可以使用HttpServerUtility.UrlDecode
或类似的,但这只能解码一次。
解码它直到解码不再改变它。
string encodedString = "....";
string temp = string.Empty;
string decodedString = HttpServerUtility.UrlDecode(encodedString);
while (decodedString != temp)
{
temp=decodedString;
decodedString = HttpServerUtility.UrlDecode(temp);
}
更新了以下hometoast的.NET版本。
基本上只是用HttpServerUtility.UrlDecode
交换HttpUtility.UrlDecode
string encodedString = "....";
string temp = string.Empty;
string decodedString = HttpUtility.UrlDecode(encodedString);
while (decodedString != temp)
{
temp=decodedString;
decodedString = HttpUtility.UrlDecode(temp);
}