mysql 处理emij表情_判断是否emij表情

这段代码用于检查一个字符串是否包含emoji表情。通过判断Unicode字符的范围来确定字符串中的字符是否属于emoji表情,包括了对surrogate pair的处理和其他特定Unicode范围的检查。
摘要由CSDN通过智能技术生成

// 判断是否是 emoji表情

- (BOOL)isEmoji

{

BOOL returnValue = NO;

if (self == nil || [self isKindOfClass:[NSNull class]] || [self isEqualToString:@""] || ([self isKindOfClass:[NSString class]] && self.length<2))

{

return returnValue;

}

const unichar hs = [self characterAtIndex:0];

// surrogate pair

if (0xd800 <= hs && hs <= 0xdbff) {

if (self.length > 1) {

const unichar ls = [self characterAtIndex:1];

const int uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;

if (0x1d000 <= uc && uc <= 0x1f77f) {

returnValue = YES;

}

}

} else if (self.length > 1) {

const unichar ls = [self characterAtIndex:1];

if (ls == 0x20e3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值