16进制 转成 Emoji表情

Posted

tags:

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

参考技术A 感谢作者提供!
Swift:

import Foundation

extension String


Objective-C:

.h

@interface NSString (Emoji)
/**

/**

/**

@implementation NSString (Emoji)

// 判断是否是 emoji表情

PHP-处理emoji表情

MySQL中的UTF8编码每个字符只支持最大3字节,而emoji是4个字节的,不能直接存储进去,所以,需要将emoji转换一下。

这边提供一个将4个字节的utf8编码转成&#xxxxxx;的方法:

$content = preg_replace_callback(‘/[x{010000}-x{10ffff}]/u‘, function($v){
    return ‘&#‘.current(unpack(‘N‘,iconv(‘UTF-8‘, ‘UCS-4‘, $v[0]))).‘;‘;
}, $content);

解码也简单,反过来一下就好了

$content = preg_replace_callback(‘/&#(d+);/‘, function($v){
    if ($v[1] >= 0x10000 && $v[1] <= 0x10ffff) {
        return iconv(‘UCS-4‘, ‘UTF-8‘, pack(‘N‘,$v[1]));
    }
    return $v[0];
}, $content);

以上是关于16进制 转成 Emoji表情的主要内容,如果未能解决你的问题,请参考以下文章

在开发聊天软件相关的时候遇到emoji表情

iOS框架--NSString中的Emoji表情

PHP-处理emoji表情

emoji

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

微信昵称emoji表情,特殊表情导致列表不显示,导出EXCEL报错等问题解决!