小编Tev*_*ren的帖子

Java 和 Python 将十六进制转换为 long 时返回不同的值

在比较 Python 和 Java 语言中的 xxhash 实现时,我注意到了这种差异。xxhash 库计算的哈希值与十六进制字符串相同,但当我尝试将计算的哈希值作为整数(或长)值时,它们是不同的。

我确信这是某种“字节序”问题,但我找不到如何为两种语言获取相同的整数值。

有什么想法以及为什么会发生这种情况吗?

Java代码:

String hexString = "d24ec4f1a98c6e5b";
System.out.println(new BigInteger(hexString,16).longValue());
// printed value -> -3292477735350538661
Run Code Online (Sandbox Code Playgroud)

Python代码:

hexString = "d24ec4f1a98c6e5b"
print(int(hexString, 16))
# printed value -> 15154266338359012955
Run Code Online (Sandbox Code Playgroud)

python java

-1
推荐指数
1
解决办法
88
查看次数

标签 统计

java ×1

python ×1