【问题标题】:How to render strings including Ascii characters in Swift [duplicate]如何在 Swift 中渲染包含 Ascii 字符的字符串 [重复]
【发布时间】:2015-04-15 05:12:16
【问题描述】:

我有一个 RSS 提要,并且在它的描述元素中(这里:www.marketoloji.com/?feed=rss2)我有 '& 之类的 ascii 字符,它们被视为 ’ /&。如何在 Swift 中呈现该描述字符串,以便我看不到 ascii 字符?

【问题讨论】:

  • 我不想告诉你,但你在这个屏幕上看到的几乎每个字符(除了那个单引号)都是 ASCII。
  • @HotLicks: 如你所见,在命名字符类型时我是初学者 :) 但我希望你明白我的意思,我只想显示 '&' instead of 8217;` 和 & 在我呈现此文本时在我的应用程序中。我应该手动检查每个字符还是有一种简单的方法可以快速完成?

标签: string swift ascii


【解决方案1】:

您可以使用 NSAttributedString 使用 NSHTMLTextDocumentType 选项轻松地为您转换 html 代码:

extension String {
    var htmlString:String {
        return NSAttributedString(data: dataUsingEncoding(NSUTF8StringEncoding)!, options:[NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: NSUTF8StringEncoding], documentAttributes: nil, error: nil)!.string
    }
}


let htmlCode = "’ / &"

htmlCode.htmlString  // "’ / &"

【讨论】:

  • 谢谢,但此代码给出“声明仅在文件范围内有效”错误:(
  • 只需将 ir 放在文件底部或添加另一个文件(swift 源文件)并将其放在那里。
猜你喜欢
  • 2016-06-15
  • 2013-09-12
  • 2016-01-15
  • 2019-01-15
  • 2011-01-27
  • 1970-01-01
  • 2011-02-21
  • 1970-01-01
  • 2019-09-22
相关资源
最近更新 更多