从 uri 转义字符串转换为原始字符串 (C#)
Convert from uri escaped string to original characters string (C#)
我有一个代表 uri 转义字符串的字符串。
我想把它转成原始字符串
例如:
6B%2FdHJaYVYZ9%2BkbVbNwB%2FmxPXwJhzmfIC8aUWOg%2F2mFCWzyrXaRHFsYLZSVedck3UW3FppuUG0jn2f4JMVUx9Q%3D%3D
需要转换为:(所需输出)
6B/dHJaYVYZ9+kbVbNwB/mxPXwJhzmfIC8aUWOg/2mFCWzyrXaRHFsYLZSVedck3UW3FppuUG0jn2f4JMVUx9Q==
转换写在这里:
http://www.w3schools.com/tags/ref_urlencode.asp
%2F 需要转换为'/'
%2B 需要转换为'+'
%3D 需要转换为'='
等等
您的字符串不是 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);
我有一个代表 uri 转义字符串的字符串。
我想把它转成原始字符串
例如:
6B%2FdHJaYVYZ9%2BkbVbNwB%2FmxPXwJhzmfIC8aUWOg%2F2mFCWzyrXaRHFsYLZSVedck3UW3FppuUG0jn2f4JMVUx9Q%3D%3D
需要转换为:(所需输出)
6B/dHJaYVYZ9+kbVbNwB/mxPXwJhzmfIC8aUWOg/2mFCWzyrXaRHFsYLZSVedck3UW3FppuUG0jn2f4JMVUx9Q==
转换写在这里: http://www.w3schools.com/tags/ref_urlencode.asp
%2F 需要转换为'/'
%2B 需要转换为'+'
%3D 需要转换为'='
等等
您的字符串不是 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);