资讯专栏INFORMATION COLUMN

Emoji检测

caige / 1861人阅读

+(BOOL)stringContainsEmoji:(NSString *)string
{

__block BOOL returnValue = NO;

[string enumerateSubstringsInRange:NSMakeRange(0, [string length])
                           options:NSStringEnumerationByComposedCharacterSequences
                        usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
                            const unichar hs = [substring characterAtIndex:0];
                            if (0xd800 <= hs && hs <= 0xdbff) {
                                if (substring.length > 1) {
                                    const unichar ls = [substring characterAtIndex:1];
                                    const int uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
                                    if (0x1d000 <= uc && uc <= 0x1f77f) {
                                        returnValue = YES;
                                    }
                                }
                            } else if (substring.length > 1) {
                                const unichar ls = [substring characterAtIndex:1];
                                if (ls == 0x20e3) {
                                    returnValue = YES;
                                }
                            } else {
                                if (0x2100 <= hs && hs <= 0x27ff) {
                                    returnValue = YES;
                                } else if (0x2B05 <= hs && hs <= 0x2b07) {
                                    returnValue = YES;
                                } else if (0x2934 <= hs && hs <= 0x2935) {
                                    returnValue = YES;
                                } else if (0x3297 <= hs && hs <= 0x3299) {
                                    returnValue = YES;
                                } else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b || hs == 0x2b50) {
                                    returnValue = YES;
                                }
                            }
                        }];

return returnValue;

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/15861.html

相关文章

  • Android 开发,你遇上 Emoji 头疼吗?

    摘要:由于其表达情绪的特点,被广受欢迎。的国际标准在年出台,现在已经是版本了,而在年,将发布之后会重命名为,其实就是的升级版版本的标准。截止到现在,中,被列入的已经有个了。目前官方使用的是字体文件,后面会详细讲解到。从左到右,分别是默认的显示 showImg(https://segmentfault.com/img/remote/1460000012635919?w=900&h=500); ...

    Meils 评论0 收藏0
  • 微信小程序或者前端,输入键盘自带的emoji表情的编码解码

    摘要:表情符的编码解码我之前在做微信小程序的时候遇到了一个问题,一些让用户输入的地方,还有用户的微信昵称都有可能输入键盘自带的表情符,在服务端接收的时候会有异常,在前端进行加密后的签名和后端接收到数据后再进行后的签名不一样。 表情符的编码解码 我之前在做微信小程序的时候遇到了一个问题,一些让用户输入的地方,还有用户的微信昵称都有可能输入键盘自带的emoji表情符,在服务端接收的时候会有异常,...

    he_xd 评论0 收藏0
  • 深度学习如何改变日常生活?Netflix、Yelp、等是这么做到的

    摘要:不同平台的不同表情和雅虎视觉与机器学习团队测试了三种不同的方法算法,一种快速线性分类器算法,一种循环神经网络架构算法,一种平衡性能与复杂性的卷积网络。雅虎不是将机器学习应用于的公司。 周末想在Netflix看场电影?可能,你选择观看的电影正受到来自Netflix复杂的AI算法的影响。同理,由深度学习驱动的预测技术,将越来越便捷地决定你喜欢吃什么、穿什么。而作为消费型科技公司,Netflix、...

    Darkgel 评论0 收藏0
  • 程序员鱼皮 表情包网站项目学习

    摘要:我们可以来看看数据库这个字段就是判断我们的这条数据是否是有效的,表示这条数据是有效的,表示这条数据是无效的。 ? 技术栈 后端 Java 8开发框架:SpringB...

    Yangder 评论0 收藏0
  • ? Emoji ? - 收藏集 - 掘金

    摘要:但是,表情在提交代码的时候也不能乱用,否则官方应用产品掘金掘金温馨提示这篇文章有很多交互效果,经过稀土君测试不适合在移动设备上阅读。您可以收藏后再到掘金的网页版上继续阅读。我偏要在手机上阅读戳一行代码实现前端小应用前端掘金 全套 Emoji 矢量图 - 设计 - 掘金 哇,设计师的福音... 谈谈 Emoji 和字符编码 - 阅读 - 掘金 字符编码是计算机原理中一个很重要的一环,然而...

    niuxiaowei111 评论0 收藏0

发表评论

0条评论

caige

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<