如何在Objective-C中将int转换为字节?

sus*_*use 4 int bytearray objective-c

我有一个int值,需要转换为字节数组.你如何在Objective-C中做到这一点?有没有办法做到这一点?

谢谢,

Mic*_*yan 6

转换成什么方式?你想用小端,大端或本地字节顺序吗?如果你想以原生字节顺序,那么你需要做的就是:

int val = //... initialize integer somehow
char* bytes = (char*) &val;
int len = sizeof(int);

也就是说,操纵整数字节的最佳方法是进行逐位运算.例如,为了获得最低字节,则可以使用VAL&0xFF时,获得下次使用(val>>8)&0xFF,然后(val>>16)&0xFF,然后(val>>24)&0xFF,等

当然,这取决于您的数据类型的大小.如果你像这样的东西,你真的应该包括;和使用,,,或,这取决于一个多么大整数想要; 否则,你无法可靠地使用更多的字节.<inttypes.h>uint8_tuint16_tuint32_tuint64_t