在java中是否有任何等同于struct.unpack('>h', buf)
的函数允许我解压缩这样的值?
解
解压缩我们使用的java中的数据: RandomAccessFile
RandomAccessFile raf = new RandomAccessFile(filename, "rw");
try{
raf.seek(((i - 1) * 1201 + (j - 1)) * 2);
}catch(java.io.IOException ex){
return null;
}
byte b1 = raf.readByte();
byte b2 = raf.readByte();
byte[]bytes = new byte[] {b1,b2};
BigInteger swap = new BigInteger(bytes);
raf.close();
答案 0 :(得分:0)
“> h” 表示big-endian格式的短值,因此您只需使用方法readShort() of DataInputStream或使用第三方库{} {{} 3}}并通过它的解析器读取(可能需要像Python的结构提供的基于动态字符串的格式描述符),在这种情况下它会有像snipet这样的东西
int value = JBBPParser.prepare("short;").parse(fileStream).findFieldForType(JBBPFieldShort.class).getAsInt();