Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在Swift中转换字符串的瑞典特许权_String_Swift - Fatal编程技术网

String 在Swift中转换字符串的瑞典特许权

String 在Swift中转换字符串的瑞典特许权,string,swift,String,Swift,一定有更好的方法在Swift中实现这一点 似乎str的每个UTF-8字节都有一个Unicode字符 真正的字符串。例如,具有UTF-8表示法C3 A4的字符ä存储为两个Unicode字符Ã=U+00C3和·=U+00A4 最好在输入端解决这个问题。如果不可能,, 只要str中的所有字符都在 范围U+0000。。U+00FF: 它使用NSISOlatin1String编码映射Unicode字符这一事实 U+0000。。U+00FF精确到字节00。。FF。因此,÷被转换为字节 C3 A4和这些字节

一定有更好的方法在Swift中实现这一点

似乎str的每个UTF-8字节都有一个Unicode字符 真正的字符串。例如,具有UTF-8表示法C3 A4的字符ä存储为两个Unicode字符Ã=U+00C3和·=U+00A4

最好在输入端解决这个问题。如果不可能,, 只要str中的所有字符都在 范围U+0000。。U+00FF:

它使用NSISOlatin1String编码映射Unicode字符这一事实 U+0000。。U+00FF精确到字节00。。FF。因此,÷被转换为字节
C3 A4和这些字节随后被解释为UTF-8并转换回Unicode。

我没有使用Swift,但这种问题与编码有关。尝试找到一个从ISO-8859-1转换为Unicode的解决方案。字符串StavsnÃs来自哪里?在创建字符串时,最好在更早的时候解决这个问题。它来自一个我无法控制的API…:/
var str = "Stavsnäs"
var strWithoutWierdCharacters = str.stringByReplacingOccurrencesOfString("ä", withString: "ä", options: NSStringCompareOptions.LiteralSearch, range:nil)
let str = "Stavsnäs"
if let data = str.dataUsingEncoding(NSISOLatin1StringEncoding) {
    if let fixed = NSString(data: data, encoding: NSUTF8StringEncoding) {
        println(fixed) // Stavsnäs
    }
}