Java如何从字节流中读取64位无符号长整数

时间:2018-01-04 18:10:18

标签: java

我试图从字节流中读取无符号长整数(由C程序生成)。由于这个数字对于Java long来说可能太大了,我想最好的方法是将8个字节读入BigInteger(如下所示),但这不起作用。

感谢任何有助于做到这一点的好方法。

    ByteBuffer bb = ByteBuffer.wrap(new byte[8]).order(ByteOrder.nativeOrder());
    bb.putLong(12345678910L);

    byte[] bytes = new byte[8];
    for(int i=0; i<8; i++){
        bytes[i] = bb.get(i);
    }

    BigInteger bi = new BigInteger(bytes);// bi is not correct

1 个答案:

答案 0 :(得分:1)

尝试取消订单电话:

    ByteBuffer bb = ByteBuffer.wrap(new byte[8]);
    bb.putLong(12345678910L);