iphone - 无法在 iphone 上转换字节数组

标签 iphone objective-c arrays json byte

我对一个 iphone 项目有点进退两难。

我正在从网络服务获取一些 JSON 数据。我可以将它反序列化成字典 OK。其中一个字典值是二进制(一张图片),但我的 JSON 库将其反序列化为 NSDecimalNumbers 的 NSArray!

如何将这个 NSDecimalNumbers 的 NSArray 转换为 NSData 对象,以便我可以使用 [UIImage imageWithData:myNSData] 从中成功生成图像?

最佳答案

这个怎么样

unsigned char *buffer = (unsigned char*)malloc([arrayOfNumbers count]);
int i=0;
for (NSDecimalNumber *num in arrayOfNumbers) {
    buffer[i++] = [num intValue];
}
NSData *data = [NSData dataWithBytes:buffer length:[arrayOfNumbers count]];
free(buffer);

...或类似的东西,具体取决于 NSDecimalNumbers 的值范围。

关于iphone - 无法在 iphone 上转换字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1250980/

相关文章:

iphone - ivars 的另一个内存管理查询

iphone - 为 iPhone 开发者提供的最佳地理编码服务

iOS 7 在使用 UIImagePickerController 时崩溃 BAD_ACCESS

arrays - 当我用 Swift 制作表格时,数组为空

Java对象数组错误(卡片)

c++ - 使用数组作为 While 循环条件

javascript - HTML5 中的旋转轮图像(例如,轮盘)?

iphone - 手机 : one single request or multiple smaller requests?

objective-c - 关于实例变量和父类(super class)的奇怪错误

objective-c - 以编程方式在 plist 文件中添加键值对,保留文件的现有顺序