Swift HTML解码麻烦
发布时间:2020-12-14 05:42:55 所属栏目:百科 来源:网络整理
导读:在Swift中,我使用NSAttributedString解码HTML,见下文: let encodedString = "Ph?i c?ng nh?n r?ng k? t? lúc ?ng Th?nglàm b? tr??ng"let encodedData = encodedString.dataUsingEncoding(NSUTF8StringEncoding)let attributedOptions = [NSDocumentTypeD
在Swift中,我使用NSAttributedString解码HTML,见下文:
let encodedString = "Ph?i c?ng nh?n r?ng k? t? lúc ?ng Th?nglàm b? tr??ng" let encodedData = encodedString.dataUsingEncoding(NSUTF8StringEncoding) let attributedOptions = [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType] let attributedString = NSAttributedString(data: encodedData,options: attributedOptions,documentAttributes: nil,error: nil) let decodedString = attributedString.string println(decodedString) 但结果是这样的:
真实结果必须与encodedString相同 这种方法有什么问题?
您必须在文档选项中指定使用的字符编码:
let encodedString = "Ph?i c?ng nh?n r?ng k? t? lúc ?ng Th?ng làm b? tr??ng" let encodedData = encodedString.dataUsingEncoding(NSUTF8StringEncoding)! let attributedOptions : [String : AnyObject ] = [ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute: NSUTF8StringEncoding ] // <- ADDED let attributedString = NSAttributedString(data: encodedData,error: nil)! let decodedString = attributedString.string println(decodedString) // Output: Ph?i c?ng nh?n r?ng k? t? lúc ?ng Th?ng làm b? tr??ng 请注意,我必须插入两个解包操作符!使用Xcode 6.1.1进行编译. (针对Swift 1.2更新) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |