iOS  Emoji表情编码/解码

Posted 怡情_老二

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS  Emoji表情编码/解码相关的知识,希望对你有一定的参考价值。

之前做弹幕的时候 遇到的表情编码解码问题

 表情编码一般是使用unicode编码 ,编码之后的格式 \ud83d\ude18\ud83d\ude18world\u4e16\u754chaha\ud83d\ude17

  //编码
    NSString *uniStr = [NSString stringWithUTF8String:[_barrageText.text UTF8String]];
    NSData *uniData = [uniStr dataUsingEncoding:NSNonLossyASCIIStringEncoding];
    NSString *goodStr = [[NSString alloc] initWithData:uniData encoding:NSUTF8StringEncoding] ;
    NSLog(@"---编码--->[%@]",goodStr);

    //解码
    const char *jsonString = [goodStr UTF8String];   // goodStr 服务器返回的 json
    NSData *jsonData = [NSData dataWithBytes:jsonString length:strlen(jsonString)];
    NSString *goodMsg1 = [[NSString alloc] initWithData:jsonData encoding:NSNonLossyASCIIStringEncoding];
    NSLog(@"---解码--->[%@]",goodMsg1);

    2016-04-15 10:16:17.858 DFRomwe[650:153981] ---编码--->[hello\ud83d\ude18\ud83d\ude18world\u4e16\u754chaha\ud83d\ude17]
    2016-04-15 10:16:17.859 DFRomwe[650:153981] ---解码--->[hello????world世界haha??]

 

以上是关于iOS  Emoji表情编码/解码的主要内容,如果未能解决你的问题,请参考以下文章

ctf中涉及emoji表情的密码学问题怎么解

iOS Emoji编解码(OBJ-C/Swift)

iOS框架--NSString中的Emoji表情

新的emoji表情只有iPhone机有么?安卓机能用么

自定制emoji替换系统的emoji键盘

Emoji表情编解码库XXL-EMOJI