這裡一個中文字符占兩個字節 一個英文字符占一個字節
如何區分中文和英文? 英文是字符包括在ascii碼內 而中文是運用unicode編碼的 經過這個思緒順次取出字符停止判別
經過textfield的代理辦法 停止判別一下是代碼
#pragma mark - UITextFieldDelegate
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
// 限定不超越32個字節長度
NSString *tempStr = [textField.textsubstringWithRange:NSMakeRange(0, range.location)];
tempStr = [tempStr stringByAppendingString:string];
int length = (int)[OmnipotentGametextLength:tempStr];
if (length >32) {
returnNO;
}
returnYES;
}
#pragma mark - 計算字節長度(一個中文占兩個字節)
+(NSUInteger)textLength: (NSString *)text{
NSUInteger asciiLength =0;
for (NSUInteger i =0; i < text.length; i++) {
unichar uc = [textcharacterAtIndex: i];
// 判別能否是ascii編碼
asciiLength += isascii(uc) ?1 : 2;
}
NSUInteger unicodeLength = asciiLength;
return unicodeLength;
}
【限定UITextField輸出的字節長度】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!