objective c - 如何将nsdata转换为字节数组

Hru*_*tai 4 iphone bytearray objective-c

我正在使用UIImage转换为NSData.我希望将NsData转换为Byte Array,并在json Parser的帮助下将该Byte数组发布到服务器.

如果我将以下类型的静态字符串传递给服务器,则接受并存储.以下是示例字符串语法.我想要以下类型的字节数组将数据发布到服务器.

[255,216,255,224,0,16,74,70,73,70,0,1,1,1,0,96,0,96,0,0,255,219,0,67,0,8,6,6,7,6 ,5,8,7,7,7,9,9,8,10,12,...]

对于上述结果,我将图像转换为数据如下:

UIImage *image = [UIImage imageNamed:@"image.png"];
NSData *data = UIImagePNGRepresentation(image);
Run Code Online (Sandbox Code Playgroud)

现在我想将NSdata转换为字节数组,因为我正在使用以下代码:

NSUInteger len = [data length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);
free(byteData)
Run Code Online (Sandbox Code Playgroud)

我也将它存储到NSdata.但不能得到结果.我也用循环键入代码,但每次它给出一个PNG作为结果.

我在上面的代码中做错了吗?

请给我一些帮助,并要求为此提供任何帮助.

提前致谢.

rma*_*ddy 10

我不是100%确定这是你在寻找与否.尝试:

UIImage *image = [UIImage imageNamed:@"image.png"];
NSData *data = UIImagePNGRepresentation(image);
NSUInteger len = data.length;
uint8_t *bytes = (uint8_t *)[data bytes];
NSMutableString *result = [NSMutableString stringWithCapacity:len * 3];
[result appendString:@"["];
for (NSUInteger i = 0; i < len; i++) {
    if (i) {
        [result appendString:@","];
    }
    [result appendFormat:@"%d", bytes[i]];
}
[result appendString:@"]"];
Run Code Online (Sandbox Code Playgroud)

这是你需要的吗?