2016-12-16 96 views
1

我正在创建一个应用程序,用于将消息从一个用户发送到另一个用户。消息:Android和iOS之间支持Emijo

此应用程序是在Android和iOS(swift 2.2)中开发的。 /使用StringEscapeUtils.escapeJavaStringEscapeUtils.unescapeJava 编码方法解码的字符串为Unicode

在Android中我使用org.apache.commons来编码给我这个结果(为一个包含字符串表情符号):

Hello \uD83E\uDD23

这是不可能在Swift中对此进行解码。

根据这一post,我认为iOS的需要这个字符串作为输入纠正解码它:

Hello \u{D83E}\u{DD23}

有一个简单的方法,使iOS和Android兼容吗?

回答

1

实测溶液:

static func decode(input: String) -> String? { 
    let ns = NSString(string: input) 
    let data:NSData = ns.dataUsingEncoding(NSUTF8StringEncoding)! 

    return NSString(data:data,encoding:NSNonLossyASCIIStringEncoding) as? String 
}