将字节数组(大端)转换为int

时间:2019-05-18 12:05:27

标签: c++ endianness

我有一个char [8]我已经从使用big endian创建的文件中读取。
如何将它的值读入int?(以这种方式在大小端机器上均可使用)。

例如:
如果我有, char buffer[4] = {0,0,1,01},我要unsigned int i = 257

(我正在使用c ++)

说明:我不需要在大小端之间转换。我需要一种将缓冲区加载到int的方法。类似的东西:
i = buffer[0] << 24 | buffer[1] << 16 | buffer[2] << 8 | buffer[3]
但是更有效\漂亮。

0 个答案:

没有答案