这是一个关于IT技术的问题,与此帖子有些类似,但提出了不同的问题,所以我觉得应该在单独的主题中提问。
我已经从文件中读取了四个连续的字节,并希望将它们存储为位数组(直到后面实际的int值才有意义)。当我打印我的int中的内容时,我注意到它似乎是以相反的顺序(小端)存储的。
请问是否有好的方法来颠倒字节的顺序?然后一旦颠倒,如何挑选跨越两个字节的连续位并转换回int?
我已经从文件中读取了四个连续的字节,并希望将它们存储为位数组(直到后面实际的int值才有意义)。当我打印我的int中的内容时,我注意到它似乎是以相反的顺序(小端)存储的。
请问是否有好的方法来颠倒字节的顺序?然后一旦颠倒,如何挑选跨越两个字节的连续位并转换回int?
unsigned char data[] = { 0x00, 0x02, 0x45, 0x28 };
NSInteger intData = *((NSInteger *)data);
NSLog(@"data:%08x", intData); // data:28450200