2016-10-09 7 views
0

に変換するので、ユニコード文字列U+1F600をjsonからUILabelに変換しようとしていますが、時間がありません。Swift 3 unicode stringをU + 1F600

誰かがこれに遭遇しましたか?それはまた、\u1f600として来るJSONが同じ問題を抱えているようです。私は運で、この方法を試してみた

:あなたのJSONレスポンスで Emoji characters cannot be encoded to JSON

本当にありがとうございました

+0

'U + 1F600'と' \のu1f600'はJSONとして有効ではありません。受信したバイトシーケンスを表示できますか? – OOPer

+0

これは役立ちます:http://stackoverflow.com/a/32555223/1630618 – vacawama

答えて

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 
     } 
    } 
} 
0

を、\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)")