我有两个NSData对象
NSData *toScan = /* initialized somehow with "Hello, this world." */;
NSData *toMatch = /* initialized somehow with "this" */;了解toMatch字节是toScan字节子集的最佳方法是什么?在这一点上,我使用C函数来实现这个目的:
strstr([[toScan identifier] bytes], [[toMatch identifier] bytes]);
// returned bytes are null-terminated但我认为在面向对象的环境中使用C函数并不是最好的方法……
发布于 2011-08-11 23:51:21
从雪豹和iOS 4.0开始,NSData有了-rangeOfData:options:range:,它应该可以做你想做的事情。
它也是相当快的。
发布于 2011-08-11 23:09:34
在另一个问题中,我写了一个答案,其中包含一个带有rangeOfData:方法的NSData类别:
Elegant Algorithm for Parsing Data Stream Into Record
这将会做你想要的。
https://stackoverflow.com/questions/7027054
复制相似问题