2017-01-24 24 views
-1

uriのエスケープ文字列を表す文字列があります。uriエスケープされた文字列を元の文字列に変換する(C#)

元の文字列に変換します。例えば

:convertionがここに書かれている

6B/dHJaYVYZ9+kbVbNwB/mxPXwJhzmfIC8aUWOg/2mFCWzyrXaRHFsYLZSVedck3UW3FppuUG0jn2f4JMVUx9Q== 

(所望の出力): http://www.w3schools.com/tags/ref_urlencode.asp

% 2fがあることが必要である

6B%2FdHJaYVYZ9%2BkbVbNwB%2FmxPXwJhzmfIC8aUWOg%2F2mFCWzyrXaRHFsYLZSVedck3UW3FppuUG0jn2f4JMVUx9Q%3D%3D 

をに変換する必要があります'/'に変換されました

%2Bが必要です「+」

%の3Dに変換することは、「=」

とあなたの文字列はbase64では、それはだエンコードされていない

+3

...あなたの所望の出力がされています。それをアンエスケープするには、UnescapeDataStringと呼ばれるUriオブジェクトからメソッドに建て使用することができますUri.Unescape(入力) '? –

答えて

2

だけのURIは、文字列をエスケープなどに変換する必要があります。なぜ `あなただけの使用いけない...それはエンコード` base64`ではありません

string uriString = "6B%2FdHJaYVYZ9%2BkbVbNwB%2FmxPXwJhzmfIC8aUWOg%2F2mFCWzyrXaRHFsYLZSVedck3UW3FppuUG0jn2f4JMVUx9Q%3D%3D" 
string unescaped = Uri.UnescapeDataString(uriString); 
Assert.AreEqual("6B/dHJaYVYZ9+kbVbNwB/mxPXwJhzmfIC8aUWOg/2mFCWzyrXaRHFsYLZSVedck3UW3FppuUG0jn2f4JMVUx9Q==", unescaped); 

Online example

関連する問題