gpt4 book ai didi

java - 将 long 转换为 String -乱码字符串

转载 作者:行者123 更新时间:2023-11-30 11:10:35 27 4
gpt4 key购买 nike

我现在想查询HBase(在线数据库)中的一条记录来验证我写的功能之一。但是在我的公司,我没有访问在线数据库的权限。所以,我必须把行键(String类型)给运维工程师,让他帮我查询。

我看了应用代码,它生成的row key的类型是byte[],所以我把它转换成String。

byte[] result = consumeRecordRowKey.toBytes();
String resultString = new String(result);

但是好像是这样的,乱码: enter image description here

它使用默认编码类型生成byte[],所以我也使用默认编码。运维工程师说不能用这个String查询,请问有什么办法可以解决?

更新:consumeRecordRowKey.toBytes() 做这些事情:它合并了两个字节数组,两个字节数组是:

byte[] array1 = Bytes.toBytes("2088301654230372");
byte[] array2 = Bytes.toBytes(9223370625843459807);//convert a long value

什么是乱码,就是long值转换成字节。我想知道,如何将long值转换成byte[],并从中得到正常的String

最佳答案

您和 byte[] 的创建者可能有不同的默认语言环境。您应该让他告诉您他的默认语言环境

 System.out.println(Charset.defaultCharset());

或通过更新您的代码来同步您的区域设置

 string.toByteArray(STANDARD_CHARSET_OF_YOUR_CHOOSING);

在他这边

 new String(bytes, STANDARD_CHARSET_OF_YOUR_CHOOSING);

在你身上。

关于java - 将 long 转换为 String -乱码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27652669/

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