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);
기본적으로.UrlDecode
UTF8을 사용하는 동안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
'programing' 카테고리의 다른 글
i: nil= "true"의 의미는 무엇입니까? (0) | 2023.10.17 |
---|---|
"아키텍처 암64를 x86_64에 매핑" 경고는 무엇을 의미합니까? (0) | 2023.10.17 |
UIVisual EffectView(UI 시각 효과 보기) 및/또는 UIBlurEffect(UI블러 효과)를 안팎으로 페이드하는 방법은 무엇입니까? (0) | 2023.10.17 |
CodeIgniter를 사용하여 mysql 데이터베이스에서 랜덤 레코드 (0) | 2023.10.17 |
각도 $rootScope.$broadcast() 이벤트가 컨트롤러에서 두 번 적발됨 (0) | 2023.10.17 |