我正在将图像的NSData从数据库转换为Iphone中的NSString
这是我的代码
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];
数据长度为6511,但newstr1为零
参考这个问题:我不能用数据库中的任何二进制数据创建一个UTF-8编码的字符串 - 数据实际上需要UTF-8编码。我已完成base 64编码和解码。我该如何解决这个问题。我只需要NSString的格式,把它作为csv文件的输入?
答案 0 :(得分:0)
我没有足够的字符编码知识,但仅仅在输出中使用Base 64编码字符串(Str1)是不够的?
我担心将Str1重新编码为data1会使你回到正方形1并撤消之前在该行中完成的任何Base 64编码。