gpt4 book ai didi

java - Oracle JRE 和 Dalvik JVM 上的不同结果

转载 作者:行者123 更新时间:2023-11-29 08:09:55 25 4
gpt4 key购买 nike

我在为 Android 应用程序创建许可证管理器时卡住了,其中许可证 key 在桌面服务器上生成,验证代码在 Android 设备上运行。验证码在桌面上执行时会产生预期的结果,但相同的代码在 Android 上会产生不同的结果。

我调试了问题并达到了结果被截断的地步!

这里是一个代码 fragment 来展示差异:

byte[] bytes = {-88, 50, -29, 114, 51, 88, 38, -52, 114, 91, -23, -55, 124, 37, -90, -49, 36, -110, -67, -59, -33, -75, 85, -72, -109, 25, -54, 89, 6, 35, -50, -11, -87, -22, 33, -2, 55, -30, 75, -36, -40, -29, -103, 110, 46, -100, -68, 101, -105, 62, 53, -20, -20, -21, -118, -72, -27, 32, 59, 127, 15, -117, 6, 102};
System.out.println(new String(bytes, "UTF-8").hashCode());

在oracle jdk上结果是

-24892055

但是在安卓手机上结果是:

-186036018

我们将不胜感激。

最佳答案

当您调用 getBytes() 时,您还需要在那里指定一个编码,否则您将从操作系统获得默认编码,它可以是任何东西,例如showBytes(new String(bytes, "UTF-8").getBytes("UTF-8"));

关于java - Oracle JRE 和 Dalvik JVM 上的不同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8704003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com