ios - 将表情符号转换为 Unicode

标签 ios unicode cross-platform chat emoji

我在跨平台开发聊天应用程序。我将表情符号从 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/

相关文章:

ruby-on-rails - utf-8 和 ActionMailer

emacs - Emacs下Coq/Proof General中关键字和运算符的Unicode字形

c++ - 构建 64 位静态库

ios - 使用 json 时从 TableView 中删除

ios - ARC 不允许将 Objective-C 指针转换为 'SEL'

ios - 按下按钮后如何显示 24 小时计数器

flutter - 为什么 ElevatedButton 会被拉伸(stretch)以适应屏幕的宽度?

ios - 如何在 SwiftUI 中使用 UIViewController 和 UIView?

python - 替换或删除 python 中的特定 unicode 字符

cross-platform - 为 Windows、Mac(和 Linux)开发和部署游戏