您的位置:首页 > 移动开发 > IOS开发

iOS中英文混排,获取字符串长度(中文字符数)

2015-10-10 08:57 260 查看
将一个NSString类型字符串获取的长度转换成类似ASCII编码的长度,如汉字2个字节,英文以及符号1个字节这个功能。

用一个char*类型的字符串,然后自己遍历一遍,将它整理为类似ASCII编码的格式,用到 [NSString cStringUsingEncoding:NSUnicodeStringEncoding]函数获得一个const
char*指针,然后对这个字符串进行遍历,遇/0就跳过,否则length+1,就可以解决此问题。

- (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 (strength+1)/2;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: