消息:Android和iOS之间支持Emijo
问题描述:
我正在创建一个应用程序,用于将消息从一个用户发送到另一个用户。消息:Android和iOS之间支持Emijo
此应用程序是在Android和iOS(swift 2.2)中开发的。 /使用StringEscapeUtils.escapeJava
和StringEscapeUtils.unescapeJava
编码方法解码的字符串为Unicode
在Android中我使用org.apache.commons
来编码给我这个结果(为一个包含字符串表情符号):
Hello \uD83E\uDD23
这是不可能在Swift中对此进行解码。
根据这一post,我认为iOS的需要这个字符串作为输入纠正解码它:
Hello \u{D83E}\u{DD23}
有一个简单的方法,使iOS和Android兼容吗?
答
实测溶液:
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
}