相关疑难解决方法(0)

如何在objective-c中反转NSInteger或NSUInteger的字节顺序

这是对这个帖子的一些跟进,但是有一个不同的问题,所以我觉得我应该在另一个帖子中提问.

我在内存中有四个连续字节,我从一个文件读入.我想将它们存储为一个位数组(它们的实际int值直到后来都无关紧要).当我打印出我的int中的内容时,我注意到它似乎以相反的顺序存储(小端).

有没有人有一个很好的方法来反转字节的顺序.然后反转,挑出跨越两个字节的连续位并转换回int?

unsigned char data[] = { 0x00, 0x02, 0x45, 0x28 };
NSInteger intData = *((NSInteger *)data);

NSLog(@"data:%08x", intData); // data:28450200
Run Code Online (Sandbox Code Playgroud)

byte bytearray objective-c endianness nsinteger

6
推荐指数
1
解决办法
3498
查看次数

标签 统计

byte ×1

bytearray ×1

endianness ×1

nsinteger ×1

objective-c ×1