计算一段字符串的长度是否超出规定字数,两个英文字符占一个长度。

来源:互联网 发布:我的样子平平无奇淘宝 编辑:程序博客网 时间:2024/04/29 23:52
//计算一段字符串的长度,两个英文字符占一个长度。- (int)countTheStrLength:(NSString*)str{    int strlength = 0;    char* p = (char*)[str cStringUsingEncoding:NSUnicodeStringEncoding];    for (int i=0 ; i<[str lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {        if (*p) {            p++;            strlength++;        }        else {            p++;        }    }    return (strlength+1)/2;}//计算一段字符串的长度是否超出规定字数,两个英文字符占一个长度。-(BOOL)isBeyondWithStrLength:(NSString *)str{    int strlength = 0;    char* p = (char*)[str cStringUsingEncoding:NSUnicodeStringEncoding];    for (int i=0 ; i<[str lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {        if (*p) {            p++;            strlength++;        }        else {            p++;        }    }    return (strlength+1)/2 >=140 ? YES:NO;}    NSString *str = @"测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测试个数测数测测个数测试个数测试个数";    NSLog(@"字符串长度 == %d",[self countTheStrLength:str]);    NSLog(@"字符超出140长度 == %d",[self isBeyondWithStrLength:str]);

0 0