首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用编码windows-1255将NSData转换为NSString

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

Stack Overflow用户
提问于 2011-06-13 16:59:42
回答 3查看 832关注 0票数 1

在我的应用程序中,我用我所读的encoding="windows-1255".下载rss文件,在将它传递给NSXMLParser之前,我需要将它转换为UTF8。

如果是这样的话,(任何关于这方面的评论都会有所帮助。)

我也有这个代码示例,但是我没有看到用于1255编码的const。

代码语言:javascript
复制
NSString *myStr = [[NSString alloc]initWithData:myData encoding:NSWindowsCP1252StringEncoding];

如何使用1255而不是1252进行转换?

tnx

EN

回答 3

Stack Overflow用户

发布于 2014-09-08 10:24:23

这实际上是可能的。

代码语言:javascript
复制
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

票数 1
EN

Stack Overflow用户

发布于 2011-06-13 17:08:12

在SDK中似乎没有这样的编码。但是,您可以自己编写编码--将unicode字符(例如来自http://en.wikipedia.org/wiki/Windows-1255 )写入数组0..255中,并将所需的字符放在字符串中而不是NSData中的每个字节中。

票数 0
EN

Stack Overflow用户

发布于 2011-06-14 07:19:53

我建议你继续并尝试直接解析你的文件。如果你还没有真正遇到一个问题,就不要试图解决它。

您的文件很有可能在不进行任何外来转换的情况下被很好地解析,特别是如果它是一个标准的RSS提要,不管版本如何。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6333649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档