2016-09-05 2 views
-2

CoreData의 저장된 이미지를 String으로 변환하여 이미지 (이미지로 변환 할 필요가 없으므로 이미지로 직접 변환하지 않으려 고합니다.)를 사용하고 싶습니다. 다음 페이지도).nsdata를 신속하게 문자열로 변환

if tableImageArray[indexPath.row] != "" {     
    var _Image:String = String(data: tableImageArray[indexPath.row], encoding:NSUTF8StringEncoding)! 
    //(NSString(data:tableImageArray[indexPath.row], encoding:NSUTF8StringEncoding)) as String! 
    print(_Image) 
} 
+0

어떻게'tableImageArray'에서'NSData'를 얻었습니까? – Sweeper

+2

이 모든 것이별로 의미가없는 것처럼 보입니다. 배열에 NSData 객체가 있으면 String과 비교하는 것이 의미가 없습니다. String을 이미지 데이터로 만들려고해도 말이되지 않습니다. 데이터에 UTF8 인코딩이 있지만 이미지 데이터가 아닙니다. – Eiko

답변

0

이것은 내 생각입니다.

배열의 이름으로 볼 때 tableImageArray은 문자열이 아닌 이미지 배열처럼 들립니다. 그래서 이미지를 NSData으로 변환하려고 시도하고있는 것 같아요. NSData을 문자열로 변환하십시오.

그러나 작동하지 않습니다. UIImage에서 String으로 직접 변환하는 것은 효과가 없습니다.

1) 문자열로 이미지를 인코딩 base64로 원하는 :

난 당신이 의도 중 하나를 가지고 같아요. 이렇게하려면 데이터에서 base64EncodedStringWithOptions([])으로 전화하면됩니다.

2) UIImage에 포함 된 문자열을 식별하고 인쇄하고 싶습니다. 이를 위해서는 아마도 일부 OCR 라이브러리를 사용해야합니다. 그냥 구글!

0

시도 :

다음

내가 노력하고 있지만 nil 가치를 발견 실행 시간 동안 BAD_EXC_Result을 얻을하지만 if 문을 통과 값을 tableImageArray[indexPath.row]이하고 내 코드입니다
if let array = tableImageArray {     
    var _Image:String = String(data: array[indexPath.row], encoding:NSUTF8StringEncoding)! 
    //(NSString(data:array[indexPath.row], encoding:NSUTF8StringEncoding)) as String! 
    print(_Image)   
} 
+0

동일한 코드 줄을 사용하고 있습니다. 조건이 내 문제가 아닌 경우 내부에 입력하십시오. tableimagearray [indexpath.row]에는 데이터가 있지만 var _Image를 넣을 때 : String = String (data : array [indexPath.row], 인코딩 : NSUTF8StringEncoding)! 이 줄은 아무 것도 발견하지 못했다. –

0

UTF8 인코딩을 통해 이미지 데이터를 직접 String으로 변환 할 수 없습니다.

콘텐츠에 관계없이 NSDataString으로 변환하는 방법은 base64 인코딩입니다.

let imageData = tableImageArray[indexPath.row] 
let image = imageData.base64EncodedStringWithOptions([]) 
관련 문제