NSData转Byte、Byte转NSData
NSData提供可以储存任意字元资料的物件,它提供了介面来使用储存的资料,所以程式在物件的环境中会更方便,记忆体管理也更容易,不过有时候与C程式要互通时,还是必需要转成Byte方式给C程式使用,所以下面将针对这两种型别转换做介绍。
NSData 转 Byte
这里假设有个档案为danny.bin
,我们利用NSData将档案读入并且转成Byte阵列,这里要注意的是,在C里面并没有Byte的类型,而是用unsigned char
的方式。
//-----------start----------- unsigned char *cData; NSData* nsData=[NSData dataWithContentsOfFile:@"danny.bin"]; cData = malloc([nsData length]); [nsData getBytes:cData]; //------------end------------
Byte 转 NSData
再利用上述转成Byte阵列的cData
指标当内容再转成NSData类型的nsData1
//-----------start----------- NSData* nsData1=[NSData dataWithBytes:cData length:sizeof(cData)]; //------------end------------