2013-07-23 5 views
-3
var stringu = @"\u003cbr /\u003e\u003cbr /\u003eHello world"; 

배경 - 여기서는 HttpClient를 사용하여 데이터를 요청하고 UTF-8 (Content-Type : application/json; charset = utf-8은 응답의 헤더입니다. 이 .NET 문자열을 UTF-8으로 변환하는 방법

내가이 그러나 작동하지 않습니다이 코드

var stringu = @"\u003cbr /\u003e\u003cbr /\u003eHello world"; 
    var ubytes = Encoding.UTF8.GetBytes(stringu); 
    var asciibytes = Encoding.Convert(Encoding.Unicode, Encoding.UTF8, ubytes); 
    var ascii = Encoding.UTF8.GetString(asciibytes); 
    Console.WriteLine(ascii); 
    Console.ReadKey(); 

에게 쓴 콘텐츠 변환을 시뮬레이션합니다. 나는 UTF-16/8 변환을 완벽하게 이해하지 못한다. (또는 내가 그것을 만들어야 할 필요가 있다고하더라도 반환 된 바이트를 html 파일로 출력한다고 생각할지라도) 도움이된다. 코드 아래

+0

그것은 당신이 결과로 나가 원하는 나에게 매우 불분명 - 나는 JSON 라이브러리가 당신을 위해이 모든 것을 처리하기 위해 기대. –

+0

왜 ascii를 사용합니까? 왜 UTF16하지 않습니까? .NET의 내부 문자 유형? –

+0



Hello world - 콘솔에서 원하는 출력입니다. – user466512

답변

0

봅니다 그것은 당신에게 도움이 될 것입니다

var ss = Microsoft.JScript.GlobalObject.unescape("\u003cbr /\u003e\u003cbr /\u003eHello world") 
+0

어떤 라이브러리를 가져와야합니까? –

+0

프로젝트의 "참조"섹션을 마우스 오른쪽 버튼으로 클릭하고 ".Net"탭으로 이동하여 Microsoft.JScript를 선택하십시오. –

+0

예고가 없으면 stringu는 따옴표로 묶은 문자열입니다. 귀하의 예는 이미 인코딩 된 UTF-16 문자열이므로 이스케이프가 필요하지 않습니다. 내 문자열로 메소드를 시도했지만 작동하지 않았습니다. – user466512