我在跨平台开发聊天应用程序。我将表情符号从 iphone 发送到 iphone 正常工作。但是当我尝试从 iphone 发送到 android 时无法正确显示。 Android 库理解 Unicode,例如 U+1F604。当我将表情符号转换为 Unicode 时,它返回的结果类似于 \ud83d\ude04。我想要像 1F604 这样的结果。
代码
NSData *data = [_txtMessage.text dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *msg = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
提前致谢。 :)
最佳答案
请试试这个:
将表情符号转换为 unicode
NSData *data = [textView.text dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *goodValue = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
goodValue = [goodValue stringByReplacingOccurrencesOfString:@"\\" withString:@"\\\\"];
从服务器获取值时
NSString *goodValue = [StaticClass urlDecode:[dataDict objectForKey:@"comment_text"]];
NSData *newdata=[goodValue dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSString *mystring=[[NSString alloc] initWithData:newdata encoding:NSNonLossyASCIIStringEncoding];
关于ios - 将表情符号转换为 Unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31668662/