Swift UTF8编码和非UTF8字符

Swift UTF8 encoding and non UTF8 character

我有一些来自 json 文件的文本。在本文中,我应用了 UTF8 编码,但此编码器无法识别非标准字符 àèìòù 并且它是大写字符,是否有净化我的字符串的方法?

我的函数:

func stringToUTF8String (stringaDaConvertire stringa: String) -> String {
    let encodedData = stringa.dataUsingEncoding(NSUTF8StringEncoding)!
    let attributedOptions = [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType]
    let attributedString = NSAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil, error: nil)!
    //println(attributedString.string)
    return attributedString.string
}

我找到了解决办法。

UTF8 取 8 位 table ASCII,UTF16 取 16 位 ASCII table,解决方法很简单,修改我的函数为:

func stringToUTF16String (stringaDaConvertire stringa: String) -> String {
    let encodedData = stringa.dataUsingEncoding(NSUTF16StringEncoding)!
    let attributedOptions = [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType]
    let attributedString = NSAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil, error: nil)!
    //println(attributedString.string)
    return attributedString.string
}