RT:
   String str = "48 65 6C 6C 6F";
   .....
   -->
   String str = "hello";
怎么得出?

解决方案 »

  1.   

    String s = "48 65 6C 6C 6F";
    String[] arr = s.split(" ");
    StringBuffer sb = new StringBuffer();
    for (int ii=0;ii<arr.length;ii++){
    sb.append((char)Integer.valueOf((arr[ii]), 16).intValue());
    }

    System.out.println(sb.toString());
      

  2.   

    汗,我在那个帖中已经回复给你了,在 9 楼上http://topic.csdn.net/u/20080326/13/9ca1121b-78ff-42ca-8bf5-a254076300bb.html
      

  3.   

    恩 看到了 一直对byte跟Hex晕晕...现在理解更深了 
    谢谢 火龙果!
    谢谢 eric0cn!
      

  4.   


    String str = "48656C6C6F";
    System.out.print(new String(hexString2ByteArray(str)));
    public static byte[] hexString2ByteArray(String hexString) {
            if(hexString.length() % 2 != 0) {
                throw new IllegalArgumentException("error");
            }
            char[] chars = hexString.toCharArray();
            byte[] b = new byte[chars.length / 2];
            for(int i = 0; i < b.length; i++) {
                int high = Character.digit(chars[2 * i], 16) << 4;
                int low = Character.digit(chars[2 * i + 1], 16);
                b[i] = (byte)(high | low);
            }
            return b;
        }