NSString的字节长度是多少?

时间:2012-06-28 12:57:45

标签: iphone ios nsstring

如何获得NSString的字节长度?如果myString包含“hallo”,myString.length将返回5,但是会占用多少实际字节数?

4 个答案:

答案 0 :(得分:50)

NSString *test=@"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
NSUInteger bytes = [test lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%i bytes", bytes);

答案 1 :(得分:6)

要使用字节

NSData *bytes = [string dataUsingEncoding:NSUTF8StringEncoding];

然后您可以查看bytes.length

字节数取决于字符串编码

答案 2 :(得分:5)

好:

NSString* string= @"myString";
NSData* data=[string dataUsingEncoding:NSUTF8StringEncoding];
NSUInteger myLength = data.length;

答案 3 :(得分:1)

来自Apple documentation

  

NSString对象编码符合Unicode的文本字符串,   表示为UTF-16代码单元的序列。所有长度,性格   索引和范围以16位平台端表示   值,索引值从0开始。

因此,NSString使用的内存是每个字符2个字节加上对象本身使用的固定内存。