NSString 懂的人一看就知道,这是古老的iOS OC开发了.....
例如,在微信分享时,微信对分享内容有长度的限制:
标题:512字节
正文:1024字节
注意:是字节,不是字符;
下面的算法可以解决这个问题;
/**
如果sourceString的 字节数 超过limitCount,则按照limitCount截断并返回,
否则,直接返回sourceString
*/
+ (NSString *)limitString:(NSString *)sourceString bytesLimit:(NSInteger)limitCount {
if(STR_IS_NIL(sourceString)){
return sourceString;
}else{
NSData *data = [sourceString dataUsingEncoding:NSUTF8StringEncoding];
if(data.length > limitCount){
NSString *subString = [sourceString substringToIndex:sourceString.length - 1];
return [StringTools limitString:subString bytesLimit:limitCount];
}else{
return sourceString;
}
}
}
因为使用递归,并且基本思想傻大笨粗,所以这个不是效率最高的方式,这个方法只能用于应急,如果谁有更好的算法,请友情提示我一下啊,先行谢过~