Java字节数组(具有长值)在c ++中转换为long

时间:2016-12-13 11:22:34

标签: java c++ arrays byte-shifting

我在Java代码中的字节数组中放了一个long值。这个(字节数组)将被传输到本机端代码(C ++)。 在这个C ++代码中,我必须重建从Java发送的long值。

如何访问字节数组及其中的所有字节并获取长值? 请帮忙。

1 个答案:

答案 0 :(得分:0)

这样的东西有很长的价值:

int64_t i;
memcpy(&i, transmittedByteArray, 8);
constexpr union { unsigned short s; unsigned char islittle;} chkendian{1};
if(chkendian.islittle)
    std::reverse((char*)&i,(char*)&i+8);