fogbugz XML API를 사용하여 일부 데이터를 소비하고 있습니다. 이 API는 항상 데이터를 UTF-8로 제공합니다..NET 4.5에서 HttpClient로 인코딩하기
WebClient
클래스를 요청할 때 인코딩을 설정할 수 있습니다. 예 :
var result = new WebClient();
result.Encoding = Encoding.UTF8;
하지만 HttpClient
클래스는 무엇입니까?
HttpClient client = new HttpClient();
사용해야합니까 :
client.GetByteArrayAsync(url);
... 다음은 문자열로 인코딩 (UTF-8)에서 바이트를 변환?
직접 콘텐츠를 UTF-8 문자열로 가져 오는 방법이 있습니까? - 내가 인코딩은 HTTP 응답의 헤더에 의해 결정되는 기대
<?xml version="1.0" encoding="UTF-8"?>
<response>
안녕 존을 사용할 수 있습니다. 귀하의 회신에 대한 Thx. 인코딩 태그는 항상 응답에 포함됩니다. FogBugz 케이스에서는 항상 UTF-8로 정의됩니다. 여기 는 XML의 시작의 예 XML 버전 = "1.0"인코딩 = "UTF-8"?> .... 내가 웹 클라이언트와 본 의존 인코딩은 없었다 api를 존중하므로 문서화 된 기능이 없으면 api에서 다시 신뢰할 수 있다고 생각하지 않습니다 .-( ByteArray를 얻는 것이 가장 안전한 방법입니까? –
@BoasEnkler : 클라이언트가 isn이 아닙니다. * body *에서 인코딩을 가져올 것입니다. * 헤더에서 지정해야합니다.하지만 앞서 말했듯이 안전한 방법은 바이트로 가져와 이진 데이터에서 파싱하는 것입니다. (Create 바이트 배열을 감싸는'MemoryStream'.) –
ok는 가장 좋은 해결책이라고 생각합니다. Kris는 또한 똑같은 t hing : –