- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我只是想知道是否有任何现有类别或任何类型的函数会从 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 中获取编码名称作为字符串,然后搜索合适的 NSStringEncoding。
NSString *encodingName = [aURLResponse textEncodingName];
NSStringEncoding encodingType = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encodingName));
此外,encodingName
可能为 nil,如果提供的 encodingName
没有合适的结果,则 encodingType
变量的结果值将不会是有效。
关于iphone - 从 NSURLResponse 检测 NSStringEncoding 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17836111/
我在 Xcode 8 中运行时收到此消息。 检测到不正确的 NSStringEncoding 值 0x8000100。假设 NSASCIIStringEncoding。将在不久的将来停止这种兼容性映射
给定一个字符集字符串,例如“utf-8”、“iso-8859-1”、“us-ascii”等,是否有任何内置方法可以在 Cocoa 中获取适当的 NSStringEncoding? 现在我正在考虑构建一
我在 iphone 中使用 ASIHttpRequest 库,当我尝试在以下 URL 上执行 GET 请求时,我收到此消息,但请求失败,如果有人遇到此问题或知道可能的解决方案,请告知让我知道。其次,如
Incorrect NSStringEncoding value 0x0000 detected. Assuming NSStringEncodingASCII. Will stop this com
我目前编写了一些代码来使用 NSStringEncoding 解码字符串。 我想使用 NSStringEncoding 的所有值来解码该字符串。 但我不知道如何获取 NSStringEncoding
我只是想知道是否有任何现有类别或任何类型的函数会从 NSURLResponse 对象中返回 NSStringEncoding 常量。 我目前面临的问题是,当我将 Web 服务响应数据转换为 Strin
我在我的应用程序中使用 ASIHTTPRequst,但遇到了一些问题,但仅限于某些设备。在某些情况下,我会收到以下错误: " 检测到不正确的 NSStringEncoding 值 0x0000。假设
当我尝试在 Swift 中将 NSData 转换为 NSString 时出现错误 这是我的要求: var request = NSURLRequest(URL: url!, cachePolicy:
我在使用这段代码时遇到了这个错误: NSMutableURLRequest *request = [ [[NSMutableURLRequest alloc] initWithURL:[NSU
正在将我现有的 swift 源代码库转换为 swift 3,并且在 swift 类中有一个方法,该方法早些时候返回 NSStringEncoding。在 swift 3 中,编译器要求我将 NSStr
我是一名优秀的程序员,十分优秀!