JAVA 如何以十六进制方式打印 byte[] bytearray 中的字节
          for(i=0;i<st;i++)
                    {
                 System.out.println( bytearray[i]);
            这样打出来的不是十六进制啊!!!求助!!
                 
                    
                }

解决方案 »

  1.   

    protected String toHex(byte buf) {
    int n = buf >= 0 ? buf : 256 + buf;
    String str = Integer.toHexString(n);
    return str.toUpperCase();
    }
      

  2.   

    byte b;
    int i=b&0xff;
    String s=Integer.toHexString(i);
    if(s.length==1) s="0"+s;
      

  3.   

    唉,本人从没学过JAVA, 现在要用JAVA调用C的库, C 是自己来写的, 终于可以调用打出了,谢谢诸位了!
      

  4.   

    招聘
    java工程师
    java jsp servlet spring hibernate js css
    上面会一部分既可qq 283765999 
    地点:北京
      

  5.   

    public static void dumpHex(byte[] src) {
    dumpHex(src, src.length);
    }

    public static void dumpHex(byte[] src, int len) {
    String num = "0123456789ABCDEF";
    System.out.println("len = " + len);
    for (int i = 0; i < len; i++) {
    int high = src[i] >> 4 & 0x0f;
    int low = src[i] & 0x0f;
    System.out.print(num.charAt(high) + "" + num.charAt(low) + " ");

    if ((i + 1) % 4 == 0) {
    System.out.print(" ");
    if ((i + 1) % 16 == 0) {
    System.out.println();
    }
    }

    }

    System.out.println();
    }