gpt4 book ai didi

objective-c - stringWithUTF8String 失败,但只是有时

转载 作者:太空狗 更新时间:2023-10-30 03:15:27 26 4
gpt4 key购买 nike

我有以下代码:

NSData *data = [NSData dataWithContentsOfFile:filePath options:0 error:&fileError];
NSString *recipe = @"";
if (fileError == nil) {
recipe = [NSString stringWithUTF8String:[data bytes]];
NSLog(@"Converted Recipe as: %@",recipe);
NSLog(@"Original Data was: %@",data);
} else {
NSLog(@"Error reading file: %@", [fileError localizedDescription]);
}

问题是有时 stringWithUTF8String 返回 null,有时它正确返回文件的内容...同一个文件。有时有效,有时无效。这是日志中的一个片段,当它没有时......这对我来说意味着文件读取正在工作,但由于某种原因这次转换失败了。如果我再做一次(这是作为 tableView didSelectRowAtIndexPath 的结果调用的:所以我可以单击不同的行然后返回到这一行。

2010-08-01 16:14:29.031 RecipeBrowse[52056:207] Converted Recipe as: (null)
2010-08-01 16:14:29.037 RecipeBrowse[52056:207] Original Data was: <426c6163 6b656e65 64204361 626f2046 69736820 5461636f 730a0a49 4e475245 4449454e 54533a0a 0a2d200a 0a0a4d45 54484f44 3a0a0a42 4c41434b 454e4544 20434142 4f204649 53482054 41434f53

有什么想法可以使它更可靠吗??

最佳答案

+stringWithUTF8String: 将假定它的输入是一个以 NUL 结尾的字符串,但 NSData 不会在那里放置任何特定的终止符。相反,使用 -initWithBytes:length:encoding: 创建您的字符串,因为您知道数据的长度。

关于objective-c - stringWithUTF8String 失败,但只是有时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3383853/

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