2017-01-24 6 views
-1

uri 이스케이프 문자열을 나타내는 문자열이 있습니다.uri 이스케이프 된 문자열을 원래 문자열 (C#)로 변환합니다.

원래의 문자열로 변환하고 싶습니다. 예를 들어

다음 convertion가 여기에 기록된다

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

(원하는 출력) : http://www.w3schools.com/tags/ref_urlencode.asp

% 2 층이 될 필요가있다

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

은 변환 될 필요 '/'로 변환 됨

% 2B가 필요합니다. '+'

%의 3D로 변환하는 것은 '='

과 당신의 문자열을 base64로는 그것의 인코딩되지 않은

+3

그것은'인코딩 base64'이 ... 원하는 출력이 아니에요 : 그것을 언 이스케이프하려면 UnescapeDataString라고 Uri 개체에서 방법에 내장 사용할 수 있습니다 Uri. 유선 방송 (입력)'? –

답변

2

그냥 URI 문자열을 탈출 등으로 변환해야합니다. `왜 그냥 사용하지 말아 ...

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

Online example