iphone - 使用编码 windows-1255 将 NSData 转换为 NSString

标签 iphone objective-c ios nsxmlparser nsdata

在我的应用程序中,我使用 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 值,而 CFStringConvertEncodingToNSStringEncodingCFStringEncoding 转换为 NSStringEncoding,您可以使用它从 NSData 创建 NSString

关于iphone - 使用编码 windows-1255 将 NSData 转换为 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6333649/

相关文章:

objective-c - 触摸文本区域时 UISearchDisplayController 不显示键盘

iphone - 按副标题排序 tableview 单元格

c++ - 创建具有给定格式的 C++ 字符串

ios - 在容器 View Controller 中添加/删除时如何为 subview Controller 设置动画?

jquery - iPhone 上的 Fancybox 问题

iphone - 在 iOS 上,如何制作 "links"的动态列表或按钮调用带有字符串参数的方法?

iphone - 类之间传递数据的差异

ios - 自动无限 collectionView - 闪烁

ios - 根据激活 UIImagePickerController 的按钮执行不同的功能

ios - localized.strings - 在模拟器中有效,但在设备上无效