【问题标题】:Unicode to UTF8 in SwiftSwift 中的 Unicode 到 UTF8
【发布时间】:2016-02-17 07:07:18
【问题描述】:

我正在使用 Maps API,在国外搜索一些地址时,地址返回时嵌入了这样的 Unicode 字符:

"Place du Panth\U00e9on",
"75005 Paris"

本例中的 unicode 字符是 \U00e9,即 é

我遇到的问题是,如果我将这些数据保存在 JSON 文件中并尝试将其读回,SwiftyJSON 就会呕吐。 SwiftyJSON 不喜欢反斜杠字符 '\' JSON 是有效的,即使我可以阅读它,它仍然不好,因为我宁愿让 é 以及所有其他 Unicode 字符正确显示。

有人对如何在 Swift 中将所有 unicode 字符转换为该字符的 UTF8 编码有任何想法吗?

我应该只编写一个搜索所有 Unicode 字符然后转换它们的函数吗?

【问题讨论】:

    标签: ios xcode unicode utf-8


    【解决方案1】:

    除非有人有更好的主意,否则我只是编写了这个函数,现在可以为我解决问题。

    func convertFromUnicode(var myString:String) -> String {
        let convertDict:[String:String] = ["\\U00c0":"À", "\\U00c1" :"Á","\\U00c2":"Â","\\U00c3":"Ã","\\U00c4":"Ä","\\U00c5":"Å","\\U00c6":"Æ","\\U00c7":"Ç","\\U00c8":"È","\\U00c9":"É","\\U00ca":"Ê","\\U00cb":"Ë","\\U00cc":"Ì","\\U00cd":"Í","\\U00ce":"Î","\\U00cf":"Ï","\\U00d1":"Ñ","\\U00d2":"Ò","\\U00d3":"Ó","\\U00d4":"Ô","\\U00d5":"Õ","\\U00d6":"Ö","\\U00d8":"Ø","\\U00d9":"Ù","\\U00da":"Ú","\\U00db":"Û","\\U00dc":"Ü","\\U00dd":"Ý","\\U00df":"ß","\\U00e0":"à","\\U00e1":"á","\\U00e2":"â","\\U00e3":"ã","\\U00e4":"ä","\\U00e5":"å","\\U00e6":"æ","\\U00e7":"ç","\\U00e8":"è","\\U00e9":"é","\\U00ea":"ê","\\U00eb":"ë","\\U00ec":"ì","\\U00ed":"í","\\U00ee":"î","\\U00ef":"ï","\\U00f0":"ð","\\U00f1":"ñ","\\U00f2":"ò","\\U00f3":"ó","\\U00f4":"ô","\\U00f5":"õ","\\U00f6":"ö","\\U00f8":"ø","\\U00f9":"ù","\\U00fa":"ú","\\U00fb":"û","\\U00fc":"ü","\\U00fd":"ý","\\U00ff":"ÿ"]
    
        for (key,value) in convertDict {
            myString = myString.stringByReplacingOccurrencesOfString(key, withString: value)
    
        }
     return myString
    }
    

    【讨论】:

      猜你喜欢
      • 2017-04-10
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 2010-11-14
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      相关资源
      最近更新 更多