1

強力なテキストn回エンコードされた文字列がある場合、nの値がわからない場合、文字列をデコードして、エンコードされていないプレーンな文字列を取得するにはどうすればよいですか。

明確にするために:

Initial : /unencoded?string/

Encoded Once : %2Funencoded%3Fstring%2F

Encoded Twice: %252Funencoded%253Fstring%252F

Encoded Three Times: %25252Funencoded%25253Fstring%25252F

3回エンコードされていることを知らず%25252Funencoded%25253Fstring%25252Fに、に移動するにはどうすればよいですか?/unencoded?string/

使用できるか類似していることはわかっていますHttpServerUtility.UrlDecodeが、これは1回だけデコードします。

4

2 に答える 2

4

デコードによって変更されなくなるまでデコードします。

string encodedString = "....";
string temp = string.Empty;
string decodedString = HttpServerUtility.UrlDecode(encodedString);
while (decodedString != temp)
{
    temp=decodedString;
    decodedString = HttpServerUtility.UrlDecode(temp);
}
于 2012-10-31T12:10:09.127 に答える