我正在处理一个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/

10-12 00:15
查看更多