2
我只是想知道是否有任何現有的類別或任何類型的函數將返回我NSStringEncoding常量超出NSURLResponse對象。從NSURLResponse中檢測NSStringEncoding的函數?
我現在面臨的問題是當我將編碼硬編碼爲NSUTF8StringEncoding時,當我將Web服務響應數據轉換爲String時,實際上會導致問題,因爲我的Web服務有時會返回以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(但它需要你先將數據寫入文件)。 –