Java中的python struct.unpack
我刚开始学Python,最近在尝试把一个Python脚本转换成Java代码。可是我在下面这段代码的逻辑上卡住了,想把它转成Java却一直没成功(可能是因为我没搞懂它到底在做什么)。
data = unpack('>H', file.read(2))
if data == 0xffff
then //do something
else //do something else
我觉得在上面的Python脚本中,主要是在做以下事情:从一个字符串中提取数据(我认为是读取文件的前两个字节),并以十六进制格式检查它的值是否为0。
我对提取数据的理解对吗?如果不对,那提取数据到底在做什么呢?是通过以下操作从文件对象中获取一个子字符串吗:
1 - 将文件读入一个字节数组
2 - 获取字节数组的前两个元素
然后接下来做什么呢?
有没有人能帮我把上面Python中的逻辑写成Java代码呢?
1 个回答
1
在Java中,你需要用到BigInteger,因为Java自带的long类型最多只能表示64位的数字,超出这个范围就不行了。
你可以通过一个字节数组来初始化BigInteger,所以这样用是没问题的。