我正在创建一个应用程序,用于将消息从一个用户发送给另一个用户。
此应用程序是在Android和iOS(swift 2.2)中开发的。
在Android中,我使用org.apache.commons
使用StringEscapeUtils.escapeJava
和StringEscapeUtils.unescapeJava
将字符串编码/解码为Unicode
编码方法给了我这个结果(对于包含表情符号的字符串):
Hello \uD83E\uDD23
这在Swift中无法解码。
根据这个post,我认为iOS需要这个String作为输入才能正确解码它:
Hello \u{D83E}\u{DD23}
是否有一种简单的方法可以兼容iOS和Android?
答案 0 :(得分: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
}