2012-06-05 63 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