取HTTP response的suggestedFilename中文乱码问题

来源:互联网 发布:不用网络的无线监控 编辑:程序博客网 时间:2024/06/14 21:40
当我们在进行网络请求时,比如下载文件,用原生的网络请求或者第三方网络请求框架的时候,若要从response的header里面取filename,我们会发现,如果访问的url里面带有中文,拿到的filename会出现乱码。这是因为response 把 Content-Disposition 中的 filename 当成 ASCII 处理了.

尝试后,解决办法如下:

NSString *fileName,*str;const char *byte = NULL;fileName = [response suggestedFilename];byte = [fileName cStringUsingEncoding:NSISOLatin1StringEncoding];NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);str = [[NSString alloc] initWithCString:byte encoding:enc]; //如是utf,此处应改为NSUTF8StringEncoding
0 0
原创粉丝点击