programing

C#을 사용하여 JavaScript의 이스케이프 해제()

css3 2023. 10. 17. 20:28

C#을 사용하여 JavaScript의 이스케이프 해제()

자바스크립트처럼 탈출/탈출을 처리하는 기능이 C#에 있습니까?

JSON 문자열은 다음과 같습니다.

{"Feeds":[{"Url":"www.test.com","FeedType":"Twitter"},{"Url":"www.test2.com","FeedType":"Youtube"}]}

그 다음에 이렇게 보이는 것.escape()

%7B%22Feeds%22%3A%5B%7B%22Url%22%3A%22www.test.com%22%2C%22FeedType%22%3A%22Twitter%22%7D%2C%7B%22Url%22%3A%22www.test2.com%22%2C%22FeedType%22%3A%22Youtube%22%7D%5D%7D

내 C# 코드에서 나는 이 문자열이 이전에 했던 것과 똑같이 보이도록 탈출하고 싶습니다.escape()

가능한가요?

HttpUtility.UrlDecode 속임수를 써야 합니다.

escape()와 동치입니다.

HttpUtility.UrlDecode(str, System.Text.Encoding.Default);

기본적으로.UrlDecodeUTF8을 사용하는 동안escape()하지 마.

이것이 제가 발견한 가장 좋은 방법입니다.

C#로 인코딩:

System.Uri.EscapeDataString("<string>");

자바스크립트로 디코딩:

decodeURI("<string>");

자바스크립트로 인코딩:

encodeURI("<string>");

C#에서 디코딩:

System.Uri.UnescapeDataString("<string>");

업데이트 27-Jan-2016: just find the more compatible way to do it, uri protocol (http://)도 javascript를 사용하여 인코딩하는 방법을 찾았습니다.

자바스크립트로 인코딩:

encodeURIComponent("<string>");

자바스크립트로 디코딩:

decodeURIComponent("<string>");

아, 왜 우리는 가끔 너무 많은 생각을 할까요?API 기능이 우스꽝스러울 때 도서관 개발자에게 카르마 욕을 보내고 해결하면...

HttpUtility.UrlEncode(editext, System.Text.Encoding.Default).Replace("+","%20");
    internal static string UnJavascriptEscape(string s)
    {
        // undo the effects of JavaScript's escape function
        return HttpUtility.UrlDecode(s.Replace("+", "%2b"), Encoding.Default);
    }

시스템을 참조할 필요 없이 탈출합니다.HttpUtility를 사용하려면 다음을 시도해 보십시오.

Str = Str.Replace("+", " ");
Str = Regex.Replace(Str, "%([A-Fa-f\\d]{2})", a => "" + Convert.ToChar(Convert.ToInt32(a.Groups[1].Value, 16)));

HttpUtility를 시도했을 때도.UrlDecode, 특별한 등장인물인 aéióuñn에게는 통하지 않았습니다.

저는 8시간 동안 그들을 잡으려고 노력했습니다.

HttpUtility.UrlDecode 

일을 하고, 포기하고 사용하는.

HttpUtility.HtmlDecode

순식간에 효과가 있었어요.

언급URL : https://stackoverflow.com/questions/3778165/unescape-javascripts-escape-using-c-sharp