我得到字节数组值(来自服务器),如下所示
byte [] byte = 9D 37 7B 10 CE 77 8C 49 38 B3 C7 E2 C6 3A 22 9A;
需要将其转换为字符串,因为它是
我试过以下代码
String item = new String(byte)
但我的价值为[B@40e5d338
我也尝试使用编码技术
String item = new String(byte,“UTF-8”)
EVrui
任何帮助都会受到极大的赞赏。谢谢你的提前
答案 0 :(得分:2)
将byte []作为参数的String构造函数通过基于编码将字节转换为字符来创建字符串。如果你想要一个包含
的字符串9D 37 7B 10 CE 77 8C 49 38 B3 C7 E2 C6 3A 22 9A
你必须编写一个方法(据我所知,java库中没有)。所以基本上:
public String toHexString(byte[] arr) {
if (arr == null || arr.length == 0) {
return "";
}
StringBuilder sb = new StringBuilder();
sb.append(Integer.toHexString(arr[0] & 0xff));
for (int i = 1; i < arr.length; i++) {
sb.append(' ').append(Integer.toHexString(arr[i] & 0xff));
}
return sb.toString();
}