Как преобразовать NSData изображения из базы данных в NSString в iPhone? - PullRequest
0 голосов
/ 03 марта 2011

Я конвертирую 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 моя строка также равна нулю.

1 Ответ

3 голосов
/ 03 марта 2011

Скорее всего, вы не хотите помещать необработанные двоичные данные в файл CSV.Вы, вероятно, хотите вместо этого изучить base64-кодирование данных. Этот предыдущий ответ должен помочь вам в этом.

...