在我的应用程序中,我使用 encoding="windows-1255"下载 rss 文件。
我读到,在将其传递给 NSXMLParser
之前,我需要将其转换为 UTF8。
如果那是真的,(对此的任何评论都将有助于偏离轨道......)
我也有这个代码示例,但我没有看到 1255 编码的常量。
NSString *myStr = [[NSString alloc]initWithData:myData encoding:NSWindowsCP1252StringEncoding];
如何使用 1255
而不是 1252
进行转换?
发送
最佳答案
这实际上是可能的。
NSString* encoding = @"windows-1255";
CFStringEncoding cfEncoding = CFStringConvertIANACharSetNameToEncoding((__bridge CFStringRef)encoding);
NSStringEncoding nsEncoding = CFStringConvertEncodingToNSStringEncoding(cfEncoding);
NSString* decodedString = [[NSString alloc] initWithData:data encoding:nsEncoding];
CFStringConvertIANACharSetNameToEncoding
将编码名称转换为 CFStringEncoding
值,而 CFStringConvertEncodingToNSStringEncoding
将 CFStringEncoding
转换为 NSStringEncoding
,您可以使用它从 NSData
创建 NSString
。
关于iphone - 使用编码 windows-1255 将 NSData 转换为 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6333649/