objective-c - 使用 substringFromIndex : with NSData

标签 objective-c ios cocoa-touch nsdata

我正在处理一个 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 - 使用 substringFromIndex : with NSData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7157033/

相关文章:

objective-c - 在 TextView 中搜索字符串的出现

ios - 关于哪些信息可以存储在 Info.plist 中的一些示例?

ios - 升级到 iOS8 后,UITableView didSelectRowAtIndexPath 不工作

ios - uisearchbar 上的清除按钮根本不起作用

不使用服务器的 iOS 推送通知

objective-c - NSTimer 是线程安全的吗?

objective-c - 如何在 Objective-C 中在自己的文件中定义一个 c 结构并将该结构作为参数传递

objective-c - 添加 SubView 在 pushViewController 之前不显示

ios - performSegueWithIdentifier 未触发

ios - 根据内容字体大小动态调整 UIWebView 的大小