我现在想在hbase(online db)中查询一条记录,以验证我编写的一个函数。但是在我的公司,我没有访问online db的权限。因此,我必须将行键(字符串类型)交给运维工程师,让他为我查询。
我已经阅读了应用程序代码,它生成的行键的类型是byte[],所以我把它转换成一个字符串。
byte[] result = consumeRecordRowKey.toBytes();
String resultString = new String(result);
但似乎是这样,它是乱七八糟的:
它使用defaule编码类型生成byte[],所以我也使用默认编码。运维工程师说他不能用这个字符串进行查询。那么,我能做些什么来解决这个问题呢?
更新:consumerRecordRowKey.tobytes()执行以下操作:它合并两字节数组,两字节数组是:
byte[] array1 = Bytes.toBytes("2088301654230372");
byte[] array2 = Bytes.toBytes(9223370625843459807);//convert a long value
什么是garbles是由long value转换的字节。我想知道,如何将long value转换成byte[]并从中得到普通字符串?
1条答案
按热度按时间nqwrtyyt1#
您和byte[]的创建者可能有不同的默认语言环境。你要么让他告诉你他的默认语言环境
或者通过更新代码来同步您的区域设置
在他那一边
你的。