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

标签 iphone objective-c bytearray

<分区>

我正在将 UIImage 转换为 NSData。我想将 NsData 转换为字节数组,并在 json 解析器的帮助下将该字节数组发布到服务器。

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

[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);

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

NSUInteger len = [data length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);
free(byteData)

我还将其存储到 NSdata。但无法得到结果。 我还输入了关于循环的代码,但每次它都会给出 aPNG 作为结果。

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

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

提前致谢。

最佳答案

我不能 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:@"]"];

这是你需要的吗?

关于iphone - objective-c - 如何将 nsdata 转换为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15555427/

相关文章:

iphone - 关闭应用程序时保存 NSI​​nteger intScore

objective-c - 使用 NSPredicate 分析字符串

android - 在运行时构建一个 9 patch drawable

utf-8 - 如何在lua中将UTF8字节数组转换为字符串

ios - ios可点击区域圆角矩形

iphone - 播放和停止声音(2 View )

ios - 当每次向 iOS 中的文本字段添加三个数字时,为整数插入一个逗号

Java 文件输入流

iphone - iPhone 模拟器上的日历

objective-c - Cocoa 应用程序 - 安全问题