zoukankan      html  css  js  c++  java
  • objective-c中字符串长度计算

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

          而在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;

           

           

     

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

  • 相关阅读:
    Linux workqueue疑问【转】
    Java中基础类库使用
    Sdut 2164 Binomial Coeffcients (组合数学) (山东省ACM第二届省赛 D 题)
    python中使用mahotas包实现高斯模糊
    ZOJ1372 POJ 1287 Networking 网络设计 Kruskal算法
    Android 属性动画(Property Animation) 全然解析 (下)
    MySQL搜索: WHERE 多条件
    点滴记录——Centos 6.5 yum安装Ganglia
    标准linuxserver搭建
    检查ORACLE的警告文件的脚本
  • 原文地址:https://www.cnblogs.com/wahy/p/4817248.html
Copyright © 2011-2022 走看看