NSString *curFourChanFilePath = [currentSubFile stringByAppendingPathComponent:curFourChanFile];
NSData *imageData = [NSData dataWithContentsOfFile:curFourChanFilePath];
CFErrorRef theError;
SecTransformRef testTransform = SecDigestTransformCreate(kSecDigestMD5,0,&theError);
CFDataRef theDataRef = (__bridge CFDataRef)imageData;
SecTransformSetAttribute(testTransform, kSecTransformInputAttributeName, theDataRef, &theError);
NSData *resultingData = (__bridge NSData *)(SecTransformExecute(testTransform, &theError));
NSString *resultingString = [[NSString alloc] initWithData:resultingData encoding:NSUTF8StringEncoding];
NSLog(@"%@",resultingString);
[checksumMapTable setObject:resultingData forKey:curFourChanFile];
这是我遇到问题的代码。这段代码在一个嵌套的嵌套循环中,所有代码都可以正常工作,直到将数据转换为 NSString。UTF8似乎有问题。所有的字符串都变成(null),但奇怪的是,它不是(null)。当我将编码更改为 UTF16 或 UTF32 时,我得到了文本。不可读的文本,正如您使用错误的编码所期望的那样,这一切都是乱码,但它显然就在那里,我似乎无法以我认为正确的编码 UTF8 来理解它。任何帮助,将不胜感激。再次重申,到目前为止,所有代码似乎都运行良好。安全框架对我来说还是有点新。