美文网首页emoji
Emoji 😂 UTF-8

Emoji 😂 UTF-8

作者: Ever_Blacks | 来源:发表于2016-06-02 14:03 被阅读505次

最近在开发的过程中发现发送到服务的Emoji表情不能正确的编解码😂, 经过搜索发现Emoji的编码是UTF-16。为了保证服务器能够正确的存储必须把上传的带有Emoji的字符串编码成UTF-8,以下是我的实现:

//把字符串编码为UTF-8
- (NSString *)encodeEmojString:(NSString *)original
{
    if (!original) {
        return nil;
    }
    NSString *uniText = [NSString stringWithUTF8String:[original UTF8String]];
    NSData *msgData = [uniText dataUsingEncoding:NSNonLossyASCIIStringEncoding];
    NSString *goodMsg = [[NSString alloc] initWithData:msgData encoding:NSUTF8StringEncoding];
    return goodMsg;
}

//把服务器返回的字符串转换为可以显示的字符串
- (NSString *)decodeEmojString:(NSString *)original
{
    if (!original) {
        return nil;
    }
    const char *jsonString = [original UTF8String];
    NSData *dataNew = [NSData dataWithBytes: jsonString length:strlen(jsonString)];
    NSString *msg = [[NSString alloc] initWithData:dataNew encoding:NSNonLossyASCIIStringEncoding];
    return msg;
}

最后附上参考链接:

  1. Emoji 编解码
  2. Emoji Unicode Table

相关文章

  • Emoji 😂 UTF-8

    最近在开发的过程中发现发送到服务的Emoji表情不能正确的编解码?, 经过搜索发现Emoji的编码是UTF-16。...

  • 重谈MySQL字符集

    本文Python版本基于3.5.2 目录 引入 ASCII Unicode UTF-8 Emoji MySQL C...

  • PHP处理字符中的emoji表情

    [toc] utf-8 编码的 emoji 表情或者某些特殊字符占用 4 个字节。utf-8 编码的常用中文字符占...

  • 让Mysql支持Emoji表情

    Emoji表情,插入Mysql时失败了! UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而...

  • mysql 安装(二进制)

    UTF-8编码在Linux里是3个字节,GBK占2个字节Emoji 表情需要用utf8mb4,UTF-8最多存3个...

  • django.db.utils.OperationalError

    xadmin添加记录时,因问半包含emoji表情,报错。原因:mysql的UTF-8只支持三个字节的存储,而一般字...

  • Mysql 中的 utf-8

    导读 问题:在用户评论中带有 emoji表情时,utf-8编码的数据库抛出异常 在网上找解决方案:将相关字段字符集...

  • iOS 限制Emoji表情输入

    因为有的后台数据库配置不支持插入UTF-8四个字节的字符,所以前端如果post请求带有?Emoji表情,后台就会报...

  • Emoji表情转UTF-8编解码、过滤

    前言 开发过程中,遇到了带有Emoji表情的字符串无法存入后台数据库问题。原因是Mysql的utf8编码最多3个字...

  • Emoji表情贴图,DIY有趣的Emoji表情,给图片加上Emo

    APP介绍 Emoji表情贴图,一款有趣好玩的emoji表情神器。 emoji制作,DIY个性emoji表情,打造...

网友评论

    本文标题:Emoji 😂 UTF-8

    本文链接:https://www.haomeiwen.com/subject/sbkkdttx.html