我正在尝试读取jpg文件并转换为字节数组 这是以下代码,此代码适用于文本文件但图像文件上的文件
//开始代码
NSString *stringFromFileAtPath = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
if(stringFromFileAtPath == nil){
NSLog(@"Error reading file at path %@\n%@", path, [error localizedFailureReason]);
}
NSLog(@"Contents:%@", stringFromFileAtPath);
NSData *bytes = [stringFromFileAtPath dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"Bytes:%@", bytes);
//代码结尾
这是我收到的错误消息 错误消息:文本编码Unicode(UTF-8)不适用。
让我知道我正在做的错误或将jpg文件转换为字节数组的代码
答案 0 :(得分:4)
为什么不使用NSData
的{{1}}方法?见这里:
即:
initWithContentsOfFile:
你不能做你所做的事情的原因是你试图读取图像文件,好像它是用UTF8编码的,很可能那里的字节在UTF8中会出错 - 它不是字符串。