将ByteArray转换为String Java

时间:2013-09-11 11:20:14

标签: java string bytearray

我得到字节数组值(来自服务器),如下所示

  

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

任何帮助都会受到极大的赞赏。谢谢你的提前

1 个答案:

答案 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();
}