如何获得NSString
的字节长度?如果myString
包含“hallo”,myString.length
将返回5,但是会占用多少实际字节数?
答案 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)
NSString对象编码符合Unicode的文本字符串, 表示为UTF-16代码单元的序列。所有长度,性格 索引和范围以16位平台端表示 值,索引值从0开始。
因此,NSString使用的内存是每个字符2个字节加上对象本身使用的固定内存。