iOS 判断中英文混合输入的字符长度

以下内容来自网上,亲测可用:

方法一:

- (int)convertToInt:(NSString*)strtemp
{
int strlength = 0;
char* p = (char*)[strtemp cStringUsingEncoding:NSUnicodeStringEncoding];
for (int i=0 ; i<[strtemp lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {
if (*p) {
p++;
strlength++;
}
else {
p++;
}
}
return strlength;
}

方法二:

- (NSInteger)getToInt:(NSString*)strtemp
{
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSData* da = [strtemp dataUsingEncoding:enc];
return [da length];
}

方法三:

NSString *text = @"你好Hello World!";
NSInteger length = [text lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
length -= (length - text.length) / 2;
length = (length +1) / 2;
NSLog(@"%ld", (long)length);

链接:http://www.jianshu.com/p/c9dd7ef6536b

Add a Comment

您的电子邮箱地址不会被公开。