我遇到了问题:我使用以下代码从 NSData 获取数据,但我想从 [0; 2048]字节获取数据。如果我的数据&gt; 2048 * 强文 *,它可以正常运行,但如果我data < 2048
,那就错了。因此,如果我的data < 2048
足够 2048字节,我想最后添加更多空格。你能帮助我吗?非常感谢。
NSData *data = [NSData dataWithBytes:[arrayText UTF8String] length:[arrayText lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
NSData *datawrite = [data subdataWithRange:NSMakeRange(0, 2048)];
如果data > 2048 bytes
,如果data < 2048 bytes
,我的MAC应用程序挂起,则上面的代码可以正常工作。请给我任何建议。提前致谢
答案 0 :(得分:0)
好的,这将从data
复制尽可能多的字节(最多2048个)。如果结果是&lt; 2048字节,新数据将填充到2048字节。
NSMutableData * datawrite = [ data subdataWithRange:(NSRange){ 0, MIN( 2048, data.length ) } ] mutableCopy ] ;
[ datawrite setLength:2048 ] ;
但是:你能告诉我们更广泛的申请吗?这似乎是一个奇怪的用例,我想了解更多。