我正在处理一个4840字节的NSData
对象,并且想要省略前20个字节并获取其余字节。子字符串方法substringFromIndex:
/ substringToIndex:
是否适用于NSData
?
最佳答案
您很接近,NSData
具有方法 subdataWithRange:
。您可以使用 NSMakeRange
函数创建一个范围,然后使用该范围生成一个根据需要修剪的NSData
。
一个例子:
// Create NSData
NSString* myString = @"Lorem ipsum dolor sit amet, consectetur cras amet.";
NSData* myData = [myString dataUsingEncoding:NSUTF8StringEncoding];
if (myData != nil && myData.length > 20) {
// Create trimmed NSData
NSData* newData = [myData subdataWithRange:NSMakeRange(20, myData.length - 20)];
if (newData != nil) {
// Test
NSString* newString = [[NSString alloc] initWithData: newData
encoding: NSUTF8StringEncoding];
NSLog(@"%@", newString);
// -> "t amet, consectetur cras amet."
}
}
关于objective-c - 在NSData中使用substringFromIndex:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7157033/