答案 0 :(得分:4)
ntohll的java等价函数是:long相当于64位
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
public long ntohll(long convert)
{
ByteBuffer bbuf = ByteBuffer.allocate(8);
bbuf.order(ByteOrder.BIG_ENDIAN);
bbuf.putLong(convert);
bbuf.order(ByteOrder.LITTLE_ENDIAN);
return bbuf.getLong(0);
}
答案 1 :(得分:2)
Java已经使用网络字节顺序,因此无需转换它们(这就是Java中不存在这些函数的原因)。
<强>更新强>
由于您正在读取小端位模式的文件,因此如果您使用的是JDK,则必须编写自己的(或使用库)。 1.5。如果您使用的是JDK 1.5或更高版本,则可以对整数对象使用reverseBytes
方法:
long data = Long.reverseBytes(some_data);