NSString 懂的人一看就知道,這是古老的iOS OC開發(fā)了.....
例如,在微信分享時,微信對分享內(nèi)容有長度的限制:
標題:512字節(jié)
正文:1024字節(jié)
注意:是字節(jié),不是字符;
下面的算法可以解決這個問題;
/**
如果sourceString的 字節(jié)數(shù) 超過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;
}
}
}
因為使用遞歸,并且基本思想傻大笨粗,所以這個不是效率最高的方式,這個方法只能用于應(yīng)急,如果誰有更好的算法,請友情提示我一下啊,先行謝過~