首页 > 其他 > 详细

【代码笔记】判断中英文混合的字符长度的两种方法

时间:2016-05-05 09:36:23      阅读:132      评论:0      收藏:0      [点我收藏+]

一,代码。

技术分享
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    //第一种方法
    NSLog(@"--first-%i",[self convertToInt:@"123我爱你"]);
    //第二种方法
    NSLog(@"--second--%ld",[self getToInt:@"123我爱你"]);
    
}

//得到中英文混合字符串长度 方法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 strlength;
}

//得到中英文混合字符串长度 方法2
- (NSInteger)getToInt:(NSString*)strtemp

{
    NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSData* da = [strtemp dataUsingEncoding:enc];
    return [da length];
}
技术分享

 

二,输出。

2015-10-19 15:36:43.730 判断中英文混合的字符长度的两种方法[9311:234111] --first-9
2015-10-19 15:36:43.736 判断中英文混合的字符长度的两种方法[9311:234111] --second--9

 

 

 
 

【代码笔记】判断中英文混合的字符长度的两种方法

原文:http://www.cnblogs.com/yang-guang-girl/p/5460518.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!