gpt4 book ai didi

ios - 将数据转换为字符串得到 nil 值

转载 作者:行者123 更新时间:2023-11-28 19:34:55 26 4
gpt4 key购买 nike

我正在做一个项目,我必须将图像存储到 sqlite 数据库中。但是当我尝试将 NSData 转换为 NSString 时,它返回 nil 值。

这是我的代码。

    imageData = [[NSData alloc]initWithBytes:UIImagePNGRepresentation(self.img_userprofile.image).bytes length:UIImagePNGRepresentation(self.img_userprofile.image).length];
NSString *charlieSendString = [[NSString alloc] initWithData:imageData encoding:NSUTF8StringEncoding];
NSString *query = [NSString stringWithFormat:@"insert into Friends values(null, '%@', '%@', '%@')", self.txt_name.text,charlieSendString, self.txt_mobile_no.text ];
[self.dbManager executeQuery:query];

// If the query was successfully executed then pop the view controller.

if (self.dbManager.affectedRows != 0) {
NSLog(@"Query was executed successfully. Affected rows = %d", self.dbManager.affectedRows);
}
else{
NSLog(@"Could not execute the query.");
}

帮帮我谢谢

最佳答案

您不能假设表示 PNG 图像的二进制数据也是字符串的有效 UTF-8 编码,而这正是您的代码在前两行中所做的。

您得到的是空值,因为无法将二进制数据解释为 UTF-8 字符串。

您需要做的是使用二进制数据的字符串编码,base64 很常见,NSData 也直接支持。查找用于生成字符串的 base64EncodedStringWithOptions: 方法,以及用于将编码字符串转换回数据的 initWithBase64EncodedString:options:

HTH

关于ios - 将数据转换为字符串得到 nil 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39955237/

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