根據 NSHTTPURLResponse 獲取編碼格式

根據服務器返回的 NSHTTPURLResponse 獲取數據編碼格式:

- (NSStringEncoding)stringEncodingWithResponse:(NSHTTPURLResponse *)response {
    NSStringEncoding stringEncoding = NSUTF8StringEncoding;
    if (response.textEncodingName) {
        CFStringEncoding encoding = CFStringConvertIANACharSetNameToEncoding((CFStringRef)response.textEncodingName);
        if (encoding != kCFStringEncodingInvalidId) {
            stringEncoding = CFStringConvertEncodingToNSStringEncoding(encoding);
        }
    }
    return stringEncoding;
}

獲取編碼格式之后,就可以正確的解析服務器返回的數據了。

// data 為服務器返回的數據,stringEncoding 可以用上面的方法獲取
NSString *string = [[NSString alloc] initWithData:data encoding:stringEncoding];

AFNetworking (3.1.0) 中有相關代碼。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,948評論 18 139
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,245評論 4 61
  • 棲月閱讀 159評論 0 0
  • 我說,我是為了愛而看簡書的,你相信嗎? 之前一直都不知道簡書是個什么樣的平臺,是一個什么樣的存在,能讓她那么喜歡,...
    淺淺落落閱讀 533評論 8 4
  • 聯機時代,人人都不再是孤立的個體。電話、微信、視頻已經占據了現代社會社交的大半壁江山。 在有網絡的情況下,只要你愿...
    moka莫卡閱讀 300評論 6 3