从API转换Swift中String中的任何UTF-8编码字符

Ste*_*rck 0 string utf-8 nsstring ios swift

我正在制作一个应用程序,用于检查我学校的成绩和作业.在查看作业时从网上看到: 来自学校网页的图像

但是服务器实际上返回一个包含常规字符的字符串,而中文字符保持常规的UTF-8编码格式: 应用程序中显示的原始字符串

我将如何解析Swift中的原始String并解码任何UTF-8编码的字符..我很难找到甚至在网上找到解决方案.只是一个FYI,我无法改变后端的任何内容.

Sam*_*m_M 5

您可以使用NSAttributedString将这些HTML实体转换为字符串.

let htmlString = "test北京的test"
if let htmldata = htmlString.dataUsingEncoding(NSUTF8StringEncoding), let attributedString = try? NSAttributedString(data: htmldata, options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil) {
    let finalString = attributedString.string
    print(finalString)
    //output: test???test
}
Run Code Online (Sandbox Code Playgroud)