2012-06-05 34 views
0

我想在不使用任何編碼和解碼方法的情況下將UIImage轉換爲NSString。下面的代碼被使用..請指導我..在這裏我已經使用「編碼:NSASCIIStringEncoding」。但我不想用。我想直接使用二進制。可能嗎 ?將UIImage轉換爲NSString - 不使用編碼和解碼

UIImage *image = [[UIImage alloc]initWithData:imageName]; 
    NSData *imageDataString = UIImagePNGRepresentation(image); 
    NSString *content = [[NSString alloc]initWithBytes:[imageDataString bytes] length:[imageDataString length] encoding:NSASCIIStringEncoding]; 

在此先感謝。

+0

正如Toaster所說,不,這是不可能的。你必須使用類似base64編碼的東西,這是爲了在字符串中表示二進制數據而明確設計的。 (順便說一句,當你將內嵌圖像嵌入到html文件中時,你也使用base64,所以這看起來像是一個合理的解決方案。) – Rob

回答

0

如果您想將其另存爲二進制文件,爲什麼不使用NSDatas writeToURL:atomically:方法?如果你不想保存文件 - 只需繼續使用NSData。它是你的原始二進制數據的一個客觀的c包裝。

+0

Toastor,其實我必須將這個二進制內容轉換成jsonString併發送到網頁服務。爲此,我必須使用任何編碼格式將NSData轉換爲NSString。可能嗎 ? – Finder

+0

是http請求的json字符串部分還是發送文件?您不能將二進制數據作爲http請求的一部分發送,您總是需要某種編碼。我在一個項目中遇到了同樣的問題,並使用base64編碼解決了這個問題,這是無損的。 – Toastor