将照片数据转换为nsstring将返回nil

时间:2011-08-18 01:34:08

标签: iphone utf-8 nsdata nsstringencoding

我允许我的应用的用户拍摄照片或从他们的库中选择一个。选择后,我需要获取图像的数据并将其转换为字符串,以便将其发送到Web服务。

我目前遇到的问题是,当我将编码设置为UTF8时,[NSString initWithData:]返回nil。我需要将它设置为UTF8以获取XML消息。

NSString *dataString = [[NSString alloc] initWithData:UIImageJPEGRepresentation(theImage, 1.0) encoding:NSUTF8StringEncoding];

感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

您无法使用initWithData:encoding:方法将UIImage转换为NSString。此方法仅用于将字符串的数据转换为NSString(例如文本文件)。

如果您尝试将任何类型的二进制数据转换为NSString,则可以使用某种编码。 Base64被广泛使用。此外,您的服务器应该能够解码您发送的内容。

此外,在大多数情况下,将图像发送到服务器只需要像以前一样以二进制形式发送它。