난 그냥 NSURLResponse 개체의 NSStringEncoding 상수를 반환하는 함수 또는 기존 범주가 있는지 알고 싶었습니다.NSURLResponse에서 NSStringEncoding을 감지하는 기능?
웹 서비스 응답 데이터를 String으로 변환 할 때 NSUTF8StringEncoding 인코딩을 하드 코드 한 다음 웹 서비스가 때때로 UTF8로 인코딩 된 응답을 반환하므로 실제로 문제가 발생합니다. ASCII로 인코딩되는 경우도 있습니다. (물론 모든 인코딩에 대해서는 확신 할 수 없지만 예를 들어 일본어, 중국어 등의 응답에 다른 언어 문자가있는 경우도 있습니다)
내 아이디어는 NSURLResponse에서 인코딩하고 을 반환합니다.
NSURLResponse * response = // NSURLResponse object (web service response headers)
NSData * responseData = // NSData object (web service response data)
NSStringEncoding encoding = [response stringEncodingUsed];
NSString * responseText = [[NSString alloc]initWithData:responseData encoding:encoding];
글쎄, urlResponse에서 인코딩 헤더를보고 적합한 인코딩을 탐지하는 방법을 알고 있지만 누군가가 이미 이런 종류의 함수를 작성했기를 바랬습니다. –
http://stackoverflow.com/questions/5268661/how-to-detect-text-file-encoding-in-objective-c (하지만 데이터를 먼저 파일에 기록해야합니다.)를보십시오. –