美文网首页
字符串判断含有emoji

字符串判断含有emoji

作者: ___1o_8o | 来源:发表于2019-03-16 22:19 被阅读0次
    - (BOOL)ydx_isEmoji {
        NSString *string = self;
        if ([string length]<2)
        {
            return NO;
        }
        
        static NSCharacterSet *_variationSelectors;
        _variationSelectors = [NSCharacterSet characterSetWithRange:NSMakeRange(0xFE00, 16)];
        
        if ([string rangeOfCharacterFromSet: _variationSelectors].location != NSNotFound)
        {
            return YES;
        }
        const unichar high = [string characterAtIndex:0];
        // Surrogate pair (U+1D000-1F9FF)
        if (0xD800 <= high && high <= 0xDBFF)
        {
            const unichar low = [string characterAtIndex: 1];
            const int codepoint = ((high - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
            return (0x1D000 <= codepoint && codepoint <= 0x1F9FF);
            // Not surrogate pair (U+2100-27BF)
        }
        else
        {
            return (0x2100 <= high && high <= 0x27BF);
        }
    }
    

    相关文章

      网友评论

          本文标题:字符串判断含有emoji

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