0
나는 여기 데이터베이스의 이미지 NSData를 iPhone의 NSString으로 변환하는 방법은 무엇입니까?
아이폰
에있는 NSString에 데이터베이스에서 이미지의있는 NSData로 변환하고 내 코드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이 stack overflow question을 참조
전무하다 . 데이터베이스에서 임의의 2 진 데이터로 UTF-8로 인코딩 된 문자열을 만들 수 없습니다. 데이터는 실제로 UTF-8로 인코딩되어야합니다. NSString 형식으로 만 CSV 파일에 입력 할 수 있습니다.
EDIT 내 캐릭터가 전무하다
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];
베이스 64 인코딩 및 디코딩 후에도.
좀 더 정교 할 수 있습니까? – Warrior
NSString은 임의의 2 진 데이터가 아닌 텍스트를 포함합니다. CSV 파일은 임의의 바이너리 데이터보다 텍스트에 더 적합하며 임의의 바이너리 데이터를 여기에 던져 파일을 읽는 다른 여러 프로그램을 혼동시킬 수 있습니다. "base64"인코딩은 문자, 숫자 및 일반 텍스트를 저장하는 데 안전한 제한된 문장 부호를 사용하여 이진 데이터를 텍스트 문자열로 변환합니다. – Anomie
csv 파일에서 base64로 인코딩 된 문자열을 보내면 텍스트로만 열리고 이미지로 열리지 않습니까? – Warrior