objective-c中字符串长度计算

      我们知道,在c语言中,使用sizeof ()计算在内存中占用的字节数, 引用string.h后,使用strlen()计算字符串的长度(不包含\0)。

      而在object-c中, “length”这个方法,可以返回字符串的长度。

比如:NSString * str =@”12345”;int a = 0; a = [str  lenght];此时a的值就是字符串str的长度,也就是5.

      值得一提的是oc 中length方法在计算字符串长度时和c有几点不同,在c中,如果字符串中有汉字的话是按三个字节的长度来算的,比如 char * str =”哈哈”;这个字符串的长度就是6,但是在oc中,不管字符串中是中文还是其他字符,每个符号长度都是1;比如:NSstring * str = @”哈哈”;那么str的长度就是2。

让我们通过几个例子来更好了解:

//1) 纯英文的字符串长度计算:

       NSString *str = @"wanghy";

       NSUInteger len = [str length];

       //此时 len 的值就是6.

       NSLog(@"len = %ld",len);

       

       // 2) 纯中文的字符串的长度计算

       // 中文的每个汉字都当做一个字符

       

       NSString *str2 = @"世界那么大,我想去看看";

       

       len = [str2 length];

       //len的值应该是11. 

       NSLog(@"len = %ld",len);

       // 3) 中英文混合

       // 总结: 不管中文还是英文,在OC中认为就是一个字符

       NSString *str3 = @"哈哈哈哈itcast";

       len = [str3 length];

       NSLog(@"len = %ld",len); // len = 10;

       

       

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/wahy/p/4817248.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值