在iphone上转换字节数组时遇到问题
我对一个iphone项目有点进退两难 我正在从Web服务获取一些JSON数据。我可以将它反序列化到字典中。其中一个字典值是二进制(图片),但我的JSON库将其反序列化为NSDEcimalNumber的NSArray 如何使用[UIImage imageWithData:myNSData]将此NSDecimalNumber数组转换为NSData对象,以便从中成功生成图像?如何在iphone上转换字节数组时遇到问题,iphone,objective-c,arrays,json,byte,Iphone,Objective C,Arrays,Json,Byte,我对一个iphone项目有点进退两难 我正在从Web服务获取一些JSON数据。我可以将它反序列化到字典中。其中一个字典值是二进制(图片),但我的JSON库将其反序列化为NSDEcimalNumber的NSArray 如何使用[UIImage imageWithData:myNSData]将此NSDecimalNumber数组转换为NSData对象,以便从中成功生成图像?如何 unsigned char *buffer = (unsigned char*)malloc([arrayOfNumber
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);
…或类似值,具体取决于NSDecimalNumber的值范围。您可以使用
[NSMutableData dataWithLength:[ArrayOfNumber count]]减少内存消耗和缓冲区拷贝代码>分配缓冲区而不是malloc。非常棒,工作起来很有魅力!=]我已经有一段时间没有使用原始C了,所以我想我的语法是错的。我已经为此挣扎了好几天了。