在比较 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)