Я конвертирую NSData Image из базы данных в NSString в iPhone
Вот мой код
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 моя строка также равна нулю.