使用substringFromIndex:与NSData

vik*_*jha 2 cocoa-touch objective-c nsdata ios

我正在处理一个NSData4840字节的对象,并且想要省略前20个字节并获取其余字节.子串方法substringFromIndex:/ substringToIndex:适用于NSData

Col*_*aff 5

你很近,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."
  }
}
Run Code Online (Sandbox Code Playgroud)