我正在Android和iOS(Swift 2.2)之间开发一个消息传递应用程序。
用户必须能够发送和接收Emojis :Hello
我需要将表情符号编码为UTF-8
而不是Unicode
。
这是我从Unicode
编码/解码的代码:
static func decodeUnicode(input: String) -> String {
let ns = NSString(string: input)
let data:NSData = ns.dataUsingEncoding(NSUTF8StringEncoding)!
if let decoded = NSString(data:data,encoding:NSUTF8StringEncoding) as? String {
return decoded
}
return ""
}
static func encodeUnicode(input: String) -> String {
let data:NSData = input.dataUsingEncoding(NSNonLossyASCIIStringEncoding)!
if let decoded = NSString(data:data,encoding:NSUTF8StringEncoding) as? String {
return decoded
}
return ""
}
编码必须与Android解码兼容。