//计算一段字符串的长度,两个英文字符占一个长度。
- (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]);
计算一段字符串的长度是否超出规定字数,两个英文字符占一个长度。
最新推荐文章于 2021-07-19 15:43:07 发布