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.stringprintln(decodedString)
但结果是这样的:
Phải công nháºn rằng kể từ lúc ông ThăngÂlÃm bá»™
trưởng
真实结果必须与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 ] // <- ADDEDlet attributedString = NSAttributedString(data: encodedData,error: nil)!let decodedString = attributedString.stringprintln(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更新)
总结以上是内存溢出为你收集整理的Swift HTML解码麻烦全部内容,希望文章能够帮你解决Swift HTML解码麻烦所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)