在我的应用程序中,我用我所读的encoding="windows-1255".下载rss文件,在将它传递给NSXMLParser之前,我需要将它转换为UTF8。
如果是这样的话,(任何关于这方面的评论都会有所帮助。)
我也有这个代码示例,但是我没有看到用于1255编码的const。
NSString *myStr = [[NSString alloc]initWithData:myData encoding:NSWindowsCP1252StringEncoding];如何使用1255而不是1252进行转换?
tnx
发布于 2014-09-08 10:24:23
这实际上是可能的。
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。
发布于 2011-06-13 17:08:12
在SDK中似乎没有这样的编码。但是,您可以自己编写编码--将unicode字符(例如来自http://en.wikipedia.org/wiki/Windows-1255 )写入数组0..255中,并将所需的字符放在字符串中而不是NSData中的每个字节中。
发布于 2011-06-14 07:19:53
我建议你继续并尝试直接解析你的文件。如果你还没有真正遇到一个问题,就不要试图解决它。
您的文件很有可能在不进行任何外来转换的情况下被很好地解析,特别是如果它是一个标准的RSS提要,不管版本如何。
https://stackoverflow.com/questions/6333649
复制相似问题