美文网首页iOS
iOS 判断字符串中有没有emoj

iOS 判断字符串中有没有emoj

作者: PINKAPINKA | 来源:发表于2017-04-12 11:59 被阅读7次

    +(BOOL)stringContainEmoji:(NSString *)str{

    __block BOOL returnValue = NO;

    [str enumerateSubstringsInRange:NSMakeRange(0, [str length])

    options:NSStringEnumerationByComposedCharacterSequences

    usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {

    const unichar high = [substring characterAtIndex: 0];

    // Surrogate pair (U+1D000-1F9FF)

    if (0xD800 <= high && high <= 0xDBFF) {

    const unichar low = [substring characterAtIndex: 1];

    const int codepoint = ((high - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;

    if (0x1D000 <= codepoint && codepoint <= 0x1F9FF){

    returnValue = YES;

    }

    // Not surrogate pair (U+2100-27BF)

    } else {

    if (0x2100 <= high && high <= 0x27BF){

    returnValue = YES;

    }

    }

    }];

    return returnValue;

    }

    相关文章

      网友评论

        本文标题:iOS 判断字符串中有没有emoj

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