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
}
我有一些来自 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
}