【发布时间】:2013-07-24 13:55:21
【问题描述】:
我只是想知道是否有任何现有的类别或任何类型的函数会从 NSURLResponse 对象中返回我的 NSStringEncoding 常量。
我目前面临的问题是,当我将 Web 服务响应数据转换为 String 时,我已将编码硬编码为 NSUTF8StringEncoding,然后它实际上会导致问题,因为我的 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 中的编码标头,然后检测正确的编码,但我希望有人可能已经编写了这种函数。
-
看看stackoverflow.com/questions/5268661/…(不过它要求您先将数据写入文件)。
标签: iphone objective-c http nsstring nsstringencoding