我在跨平台开发聊天应用程序。我从iphone发送emojis到iphone正常工作。但是当我尝试从iphone发送到android时没有正确显示。 Android库了解Unicode,如 U + 1F604 。当我将emojis转换为Unicode时,它返回的结果如 \ ud83d \ ude04 。我想要1F604的结果。
代码
NSData *data = [_txtMessage.text dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *msg = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
先谢谢你。 :)
答案 0 :(得分:0)
请试试这个:
将表情符号转换为unicode
-------------------------------------------------
| | dineType | menuName | unique | columns |
-------------------------------------------------
| date | | | | |
-------------------------------------------------
|%y%m%d| | | | |
-------------------------------------------------
...
-------------------------------------------------
| | dineDate | dineType | menuName | |
-------------------------------------------------
| 0 | %Y%m%d | | | |
-------------------------------------------------
| 1 | | | | |
-------------------------------------------------
...
从服务器获取值
NSData *data = [textView.text dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *goodValue = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
goodValue = [goodValue stringByReplacingOccurrencesOfString:@"\\" withString:@"\\\\"];
答案 1 :(得分:0)
// String to unicode
如果let data = NormalString.data(using:String.Encoding.nonLossyASCII),let convertedString = String.init(data:data,encoding:String.Encoding.utf8) { return convertedString }
// Unicode to string
如果let data = UnicodeString.data(using:String.Encoding.utf8),let convertedString = String.init(data:data,encoding:String.Encoding.nonLossyASCII) { return convertedString }