将UIImage转换为const char *?

时间:2014-01-07 10:13:54

标签: c++ ios objective-c protocol-buffers

我需要将UIImage转换为const char *,因为我使用的是来自Google的protobuffer,并且消息结构接受此类型的参数。我开始将图像解析为NSData

UIImage *image = [UIImage imageNamed:@"sign_up_button"];
NSData *imageData =  UIImagePNGRepresentation(image);  
const char *test = (const char*)[bytesString bytes];

但是当我打印结果时,这就是我得到的:\xff\xd8\xff\xe0出了什么问题,因为结果必须是带有编码字符的长字符串。

1 个答案:

答案 0 :(得分:3)

“打印”char*在达到\ 0时中止。这是图像数据的可能内容。你不能“打印”它。您根本不能将数据作为C字符串处理,因为C字符串是0终止的。不要使用任何需要C字符串的函数。它会失败。

存储长度而将其作为“字节数据”处理。