将NSData转换为字节数组

时间:2012-05-22 05:51:07

标签: iphone objective-c ios xcode nsdata

我想将NSData转换为字节数组,下面给出的是我使用的代码

    NSData *imageData = UIImagePNGRepresentation(recipeImage.image);
    NSUInteger len = [imageData length];
    Byte *byteData = (Byte*)malloc(len);
    memcpy(byteData, [imageData bytes], len);
    NSLog(@"%8s",byteData);

但是当我将byteData发布到下面给出的web服务时,它给我一个错误

“服务器无法处理请求.-->参数无效。”

当我打印byteData时,这就是我在控制台中得到的

âPNG

我尝试在NSData的文档中搜索并找到了getBytes方法,但这也没有任何用处,我仍然得到同样的错误。

请您从上面的代码中告诉我,因为我在哪里错了,或者我在将数据转换为字节数组时犯了什么错误

编辑:我尝试过使用

[imageData getBytes:&byteData length:length];

它给我一个错误的访问错误

2 个答案:

答案 0 :(得分:3)

试试这个

NSData *imageData = UIImagePNGRepresentation(recipeImage.image);  
NSUInteger len = [imageData length];
Byte *byteData= (Byte*)malloc(len);
[imageData  getBytes:byteData length:len];

答案 1 :(得分:1)

你的问题完全不同了。

您正在向Web服务发送数据,但该操作失败。 告诉我们您如何将数据发送到网络服务。将NSData转换为字节数组绝对没有意义。 imageData.bytes和你将得到的字节数组一样好。