NSString的长度问题 pow(2, 15) 为啥要 -19 

  如下代码产生这个问题:

    NSMutableString *ms = [NSMutableString string];
    for (int i=0; i<pow(2, 15)-19; i++) {
        [ms appendString:@"1"];
    }
    
    NSLog(@"%@  %ld", ms, ms.length);// 32749
    NSLog(@"%ld", ms.length);
    
    [ms appendString:@"1"];
    NSLog(@"%@  %ld", ms, ms.length);// 32750
    NSLog(@"%ld", ms.length);

  输出如下:

  ...1111 32749

  2018-07-25 15:08:27.280985+0800 Demo[30718:219829] 32749

  ...1111 <decode: missing data>

  2018-07-25 15:08:27.280985+0800 Demo[30718:219829] 32750

  

  神一样存在的问题!!!

 

相关文章:

  • 2021-08-02
  • 2022-12-23
  • 2021-10-15
  • 2022-01-14
  • 2021-08-07
  • 2021-07-16
  • 2021-07-11
  • 2021-06-17
猜你喜欢
  • 2022-12-23
  • 2021-12-01
  • 2021-07-20
  • 2022-01-01
  • 2021-05-25
  • 2022-12-23
相关资源
相似解决方案