如何获得字节长度NSString
?如果myString
包含“hallo”,myString.length
将返回 5,但实际占用了多少字节?
问问题
13894 次
4 回答
54
NSString *test=@"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
NSUInteger bytes = [test lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%i bytes", bytes);
于 2012-06-28T13:01:24.367 回答
8
要获取字节使用
NSData *bytes = [string dataUsingEncoding:NSUTF8StringEncoding];
然后你可以检查bytes.length
字节数取决于字符串编码
于 2012-06-28T13:00:10.703 回答
5
好:
NSString* string= @"myString";
NSData* data=[string dataUsingEncoding:NSUTF8StringEncoding];
NSUInteger myLength = data.length;
于 2012-06-28T13:01:20.637 回答
2
从苹果文档:
NSString 对象编码符合 Unicode 的文本字符串,表示为 UTF-16 代码单元序列。所有长度、字符索引和范围均以 16 位平台端值表示,索引值从 0 开始。
所以 NSString 使用的内存是每个字符 2 个字节加上对象本身使用的任何固定内存。
于 2018-01-16T22:46:26.120 回答