在 iPhone 上解码 HTML 实体

Posted

技术标签:

【中文标题】在 iPhone 上解码 HTML 实体【英文标题】:Decoding HTML entities on iPhone 【发布时间】:2012-01-04 08:46:13 【问题描述】:

我有几个位置的列表,其中一些包含字母 æ、Æ、ø、Ø、å 和 Å。 从我正在使用的网络服务中,字母显示为“&oslash ;” “&戒指 ;”等等。

当我从 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 实体的主要内容,如果未能解决你的问题,请参考以下文章

在android中解码HTML实体

AngularJs:如何在 HTML 中解码 HTML 实体? [复制]

如何在 C 中解码 HTML 实体?

swift 在Swift中解码HTML实体

如何在 Swift 中解码 HTML 实体?

如何阻止 html TEXTAREA 解码 html 实体