将表情符号编码为字符串

Encode Emoji to string

我想将这个表情符号编码为字符串:

我试过这样:

let data = self.comment.dataUsingEncoding(NSNonLossyASCIIStringEncoding, allowLossyConversion: true)
if let data = data {
   let emojiString = NSString(data: data, encoding: NSUTF8StringEncoding) as! String
       self.comment = emojiString
}

但是没用。

我想像 😈 那样编码,而不是 \ud83d\ude08

那么怎么做呢?

128520 是 "":

unicode 标量值
let text =  ""

let encoded = text.unicodeScalars.map {
    "&#" + String([=10=].value) + ";"
}.joinWithSeparator("")

print(encoded) // 😈😀