怎么将字节数组转换成十六进制字符串
(实现语言:Java)

解决方案 »

  1.   

    b为字节数组
    StringBuffer sb = new StringBuffer("");
    for(int i = 0;i < b.length;i++){
    int a = (int)b[i];
    sb.append(Integer.toHexString(a));
    }
    System.out.println(sb);
      

  2.   

    String s = "CSDN Java 字节数组 123";
    byte[] bys = s.getBytes();
    StringBuffer sb = new StringBuffer();
    for (byte b : bys) {
      sb.append(String.format("%02x", b));
    }
    System.out.println(sb.toString());weiqiyiji 的方法,如果是汉字等生成的字节数组,会产生许多负值,即转出的字符前面带有6个“f”。