【问题标题】:Swift 3 convert unicode string U+1F600 [closed]Swift 3 转换 unicode 字符串 U+1F600 [关闭]
【发布时间】:2016-10-09 00:22:48
【问题描述】:

所以我正在尝试将来自 json 的 unicode 字符串 U+1F600 转换为 UILabel,但时间很长。

有人遇到过吗?似乎 JSON 以 \u1f600 的形式出现也有同样的问题。

我试过这个方法没有运气: Emoji characters cannot be encoded to JSON

非常感谢

【问题讨论】:

标签: ios json swift unicode


【解决方案1】:

感谢 vacawama 和 Edmar,他们都帮我找到了解决方案,如下所示:

if let unicode = definition["unicode"] as? String {
    if let int = Int(unicode.replacingOccurrences(of: "U+", with: ""), radix: 16) {
        if let scalar = UnicodeScalar(int) {
            let string = String(scalar)
            emoji.text = string
        }
    }
}

【讨论】:

    【解决方案2】:

    在您的 JSON 响应中,\u1f600 是否以字符串格式出现?如果是这样,试试这个:

    let transform = "Any-Hex/Java"
    let input = "\\u1f600" as NSString
    var output = input.mutableCopy() as NSMutableString
    
    CFStringTransform(output, nil, transform as NSString, 1)
    
    println("output: \(output)")
    

    【讨论】:

      猜你喜欢
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      • 2021-06-25
      • 1970-01-01
      相关资源
      最近更新 更多