从uri转义字符串转换为原始字符串(C#)

时间:2017-01-24 10:27:34

标签: c# url escaping urldecode

我有一个表示uri转义字符串的字符串。

我想将其转换为原始字符串。

例如:

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

需要转换为:(所需的输出)

UIViewController

转换写在这里: http://www.w3schools.com/tags/ref_urlencode.asp

%2F需要转换为'/'

%2B需要转换为'+'

%3D需要转换为'='

等等。

1 个答案:

答案 0 :(得分:2)

你的字符串不是base64编码的,只是uri转义字符串。为了取消它,您可以使用Uri对象中的内置方法,该方法称为UnescapeDataString

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

Online example