Windows Phone 응용 프로그램에서 WebClient.OpenReadAsync()로 다운로드 한 xml을 읽으려고합니다. 문제는 때때로 XML이 UTF8 인코딩으로 제공되지 않는다는 것입니다. "ISO-8859-1"과 같은 다른 인코딩이있을 수 있으므로 악센트가 엉망이됩니다. Windows Phone에서 스트림 또는 바이트 배열 인코딩 감지
내가 완벽하게 코드를 사용하여 ISO-8858-1 XMLS 중 하나를로드 할 수 있었다 :var buff = e.Result.ReadFully(); //Gets byte array from the stream
var resultBuff = Encoding.Convert(Encoding.GetEncoding("ISO-8859-1"), Encoding.UTF8, buff);
var result = Encoding.UTF8.GetString(resultBuff, 0, resultBuff.Length);
그것은 ISO-8859-1로 아름다운 작품을 텍스트 완벽 한 듯했지만, 그것은 엉망 UTF8 xml.
바이트 배열이나 스트림을 인코딩하기 전에이 인코딩을 감지 한 다음 UTF8이 아닌 경우 감지 된 인코딩을 사용하여 위의 방법으로 데이터를 변환합니다.
인터넷에서 인코딩을 감지 할 수있는 방법을 찾고 있는데 어떤 것도 찾을 수 없습니다! Windows Phone에서 이런 종류의 작업을 수행 할 수있는 방법을 알고있는 사람이 있습니까?
감사합니다.
전체 소스 코드 샘플을 사용하는 최종 해결책이 있습니까? – Kiquenet