Swift 3转换unicode字符串U + 1F600

时间:2016-10-09 00:22:48

标签: ios json swift unicode

所以我试图将来自json的unicode字符串U+1F600转换为UILabel,但却有一段时间。

有人遇到过这个吗?似乎JSON即将出现\u1f600也有同样的问题。

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

非常感谢

2 个答案:

答案 0 :(得分: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
        }
    }
}

答案 1 :(得分:0)

在您的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)")