gpt4 book ai didi

objective-c - 将 NSData 转换为 NSString 时出错

转载 作者:行者123 更新时间:2023-12-04 05:18:19 26 4
gpt4 key购买 nike

我在数据库中保存图像。我正在尝试获取图像并将其导出为 CSV 文件。
我使用以下代码转换为字符串,但它返回空值。

   int length = sqlite3_column_bytes(compiledStatement, i); 
NSData *img =[NSData dataWithBytes:sqlite3_column_blob(compiledStatement, i) length:length];
text = [[NSString alloc] initWithData:img encoding:NSUTF8StringEncoding];

NSLog(@"ColName : %@, TEXT : %@",colName, text); //Text displayed is (NULL)

当我保存图像时,我将图像转换为 NSData,然后将其插入到数据库列中。保存图像的列的数据类型是“blob”。

提前致谢。

最佳答案

initWithData:encoding: 的编码参数指定数据的编码是什么,而不是字符串将是什么。如果数据实际上不是 UTF-8,则转换将失败并且返回的字符串将为空。

看到您的数据是二进制的,几乎可以 100% 保证转换遇到无效的 UTF-8 字节序列并中止。

虽然我不建议将图像数据序列化为字符串,但如果您绝对必须这样做,那么您应该首先对数据进行 Base-64 编码,如 this SO post 中所述。 .

关于objective-c - 将 NSData 转换为 NSString 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13967665/

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