在 iPhone 上解码 HTML 实体
Posted
技术标签:
【中文标题】在 iPhone 上解码 HTML 实体【英文标题】:Decoding HTML entities on iPhone 【发布时间】:2012-01-04 08:46:13 【问题描述】:我有几个位置的列表,其中一些包含字母 æ、Æ、ø、Ø、å 和 Å。 从我正在使用的网络服务中,字母显示为“ø ;” “&戒指 ;”等等。
当我从 web 服务下载提要时,我使用 UTF-8 编码。
如何解码这些字符的出现?
谢谢!
【问题讨论】:
认为这个帖子应该有帮助:***.com/questions/803676/encode-nsstring-for-xml-html 让您的网络服务提供商以非 html 编码的 UTF-8 格式发送提要。 Objective C HTML escape/unescape的可能重复 【参考方案1】:没有标准的方法,可以简单地编写您自己的自定义方法(或 NSString 扩展)并执行此操作:
string = [string stringByReplacingOccurrencesOfString:@"&" withString:@"&"];
【讨论】:
【参考方案2】:如果您的 web 服务使用的是 utf8,并且如果您使用 [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]
解码数据,那么一切都应该没问题。
【讨论】:
根据他的问题,他的网络服务正在发送 html 编码的文本。流是 UTF-8 的事实是无关紧要的。如果他按照此处所述创建字符串,ø
不会变成 Ø,它只是 8 个字符,UTF-8 编码的字符串ø
我的错,这实际上是 html 编码的问题,我同意你的看法。【参考方案3】:
Google 编写的名为“GTMNSString+HTML”的 NSString 类别非常适合我。在这里查看:https://gist.github.com/takuma104/ntlniph/blob/master/gtm/Foundation/GTMNSString+HTML.h 和这里:https://gist.github.com/takuma104/ntlniph/blob/master/gtm/Foundation/GTMNSString+HTML.m
【讨论】:
以上是关于在 iPhone 上解码 HTML 实体的主要内容,如果未能解决你的问题,请参考以下文章