繁体   English   中英

如何在iPhone中将Image的NSData从数据库转换为NSString?

[英]How to convert NSData of Image from database to NSString in iPhone?

我正在将图像的NSData从数据库转换为iPhone中的NSString

这是我的代码

imageData1 = [[NSData alloc] initWithBytes:sqlite3_column_blob(compiledStatement, 2) length: sqlite3_column_bytes(compiledStatement, 2)];           
NSLog(@"the data length %d",[imageData1 length]);
NSString* newStr1 = [[NSString alloc] initWithData:imageData1 encoding:NSUTF8StringEncoding];

数据长度为6511,但newstr1为nil

参考此堆栈溢出问题 我无法从数据库中的任何任意二进制数据中创建UTF-8编码的字符串-数据实际上需要进行UTF-8编码。 我只需要使用NSString格式,即可将其作为CSV文件的输入。

编辑:

imageData1 = [[NSData alloc] initWithBytes:sqlite3_column_blob(compiledStatement, 3) length: sqlite3_column_bytes(compiledStatement, 3)];           
NSString * Str1 = [NSString base64StringFromData: imageData1 length: [imageData1 length]];
NSData *data1=[NSData base64DataFromString:Str1];
NSString* newStr1 = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];

在进行base 64编码和解码之后,我的字符串也为nil。

很有可能您实际上并不希望将原始二进制数据转储到CSV文件中。 您可能想改为使用base64编码的数据。 先前的答案应该可以帮助您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM