gpt4 book ai didi

ios - 搜索 NSData 末尾附近的字节时出现 NSRangeException

转载 作者:可可西里 更新时间:2023-11-01 06:25:54 24 4
gpt4 key购买 nike

我想检查我应用程序中文件的最后 2 个字节以确保它们没有损坏 .jpg

rangeOfData:options:range: 看起来是个不错的选择,但我很难弄清楚如何获得正确的 NSRange。我要查找的范围从 NSData 的末尾开始,一直到末尾。

这是我目前所拥有的:

NSData *imageData = [NSData dataWithContentsOfFile:filePath];
NSRange range = {([imageData length]-8),[imageData length]};
NSString *str = @"FFD9";
NSData *jpgTest = [str dataUsingEncoding:NSUTF8StringEncoding];
NSRange found = [imageData rangeOfData:jpgTest options:NSDataSearchBackwards range:range];

这是我得到的错误:

** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSConcreteData rangeOfData:options:range:]: range {14954, 14962} enxceeds data length 14962'

如何正确获取范围以搜索我的 NSData 的最后几个字节?

最佳答案

NSRange 的第二个成员不是范围的终点,而是它的长度。所以在你的情况下应该是:

NSRange range = {([imageData length]-8), 8};

关于ios - 搜索 NSData 末尾附近的字节时出现 NSRangeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11013735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com