//float 转byte数组 oc中 byte数组和char数组可强制转换使用
-(NSData *)floatToByte:(float)f{
float wTemp=f;
char sBuf1[4];
char* temp;
memset(sBuf1,0,sizeof(sBuf1));
temp=(char*)(&wTemp);
sBuf1[0] = temp[0] ;
sBuf1[1] = temp[1];
sBuf1[2] = temp[2];
sBuf1[3] = temp[3];
for (int i=0; i<sizeof(sBuf1); i++) {
NSLog(@"sbff----%X",sBuf1[i]);
}
NSData *data = [NSData dataWithBytes:sBuf1 length:sizeof(sBuf1)];
return data;
}
NSData *data = [self floatToByte: 15.0];
Byte *dataByte = (Byte *)[data bytes];
Byte byte[data.length];
memcpy(&byte, &dataByte[0], data.length);
"byte"就是转换成的字节数组
-(float)ByteToFloat:(Byte[])b{
char sBuf[4];
sBuf[0]=b[0];
sBuf[1]=b[1];
sBuf[2]=b[2];
sBuf[3]=b[3];
float *w=(float *)(&sBuf);
return *w;
}
//将字符串转换成字节数组
NSString *strtest =oldOrder;
int size = (int)(oldOrder.length/2);
Byte bt[size];
for (int i =0; i < strtest.length; i+=2) {
NSString *strByte = [strtest substringWithRange:NSMakeRange(i,2)];
unsigned long red = strtoul([strByte UTF8String],0,16);
Byte b = (Byte) ((0xff & red) );//( Byte) 0xff&iByte;
bt[i/2+0] = b;
}