将表情符号转换为Unicode

时间:2015-07-28 06:17:01

标签: ios unicode cross-platform chat emoji

我在跨平台开发聊天应用程序。我从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];

先谢谢你。 :)

2 个答案:

答案 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         }