byte数组怎么会有什么0x方式之类的,这些格式只有在再转换成字符串的时候才会出现
"string".getBytes()就可以了,你所需要的格式只有在toString时候才有意义的

解决方案 »

  1.   

    dst_addr[1][0] = 0x31;
    dst_addr[1][1] = 0x33;
    dst_addr[1][2] = 0x37;
    dst_addr[1][3]= 0x37;
    dst_addr[1][4]= 0x0;
      

  2.   

    不明白你到底是想做什么,如果你是运算,变成字符串的话
    byte b = 0x10 和 byte b = 16 根本是一样的,如果你不转换成字符串,对你来说有任何的区别吗?如果需要转换成字符串,Integer.toHexString就可以了
      

  3.   

    String str = "0x010x020x030x100x200x30";
            Pattern p = Pattern.compile("0x\\d{2}?");
            Matcher m = p.matcher(str);
            int count = 0;
            while (m.find()) {
                count++;
            }
            String[] hex = new String[count];
            m.reset();
            for (int i = 0; m.find(); i++) {
                hex[i] = m.group().substring(2, 4);
            }        byte b;
            for (int i = 0; i < hex.length; i++) {
                b = Byte.parseByte(hex[i], 16);
                System.out.println(b);
            }请将你 String str = "0x010x020x030x100x200x30"; 对象的原型格式说出来以便修改
      

  4.   

    你能不能将待分析的String给个例子咱好帮你解决
    到底是"0x00 0x01 0x04 0x0"
    还是"0x010x030x040x060x0"?
    请将问题描述清楚
      

  5.   

    String str = "0x01 0x02 0x03 0x10 0x20 0x30 0x0";
            Pattern p = Pattern.compile("0x\\d{1,2}");
            Matcher m = p.matcher(str);
            int count = 0;
            while (m.find()) {
                if (m.group().equalsIgnoreCase("0x0")) break;
                count++;
            }
            String[] hex = new String[count];
            byte[] b = new byte[count + 1];
            m.reset();
            for (int i = 0; i < count; i++) {
                m.find();
                hex[i] = m.group().substring(2, 4);
                b[i] = Byte.parseByte(hex[i], 16);
            }
            b[count] = 0x0;        for (int i = 0; i < b.length; i++) {
                System.out.println(b[i]);
            }上面一段程序如下几种格式的源都可以工作
    String str = "0x01 0x02 0x03 0x10 0x20 0x30 0x0";
    String str = "0x010x020x030x100x200x300x0";
    String str = "0x01dsad0x02dsadsa0x03dsadsa0x10dsadsds0x20as0x30dsa0x0";
    String str = "0x013450x023450x035430x103450x2034550x303450x0";
    住你好运!
      

  6.   

    public class ts {
    public static void main (String[] args)
    {

    String svc="123456";
    byte svc_type[] =new byte[1024];


    svc_type[0]=0x39;
    svc_type[1]=0x39;
    svc_type[2]=0x39;
    svc_type[3]=0x39;
    svc_type[4]=0x39;
    svc_type[5]=0x39;
    svc_type[6]=0x39;
    svc_type[7]=0x39;
    svc_type[8]=0x0;
    svc_type=svc.getBytes();
    Arrays.fill(svc_type,svc_type[6]=0x30); 

    for(int i=0;i<20;i++){  System.out.println(svc_type[i]);}
    }
    }
    这是我手写的
    现在我想自动
      

  7.   

    把String svc="123456";
    放在BYTE[]数组里
    结尾一定要0x0
      

  8.   

    String svc="123456";
    怎么个放法?
    1按照0x01, 2按照0x02, 3按照0x03?
    还是 12按照0x12, 34按照0x34, 56按照0x56?
    您能说明白点吗?
      

  9.   

    1按照0x31, 2按照0x32, 3按照0x33
    31,32,33
    是16进制表示
    最主要的结尾一定要0x0
      

  10.   

    import java.io.UnsupportedEncodingException;public class Test {
        public static void main(String[] args) {
            String s = "123456";
            byte[] b1 = new byte[s.length() + 1];
            byte[] b2 = new byte[s.length()];
            try {
                b2 = s.getBytes("UTF-8");// 获得 ASCII 16进制值
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            for (int i = 0; i < b2.length; i++) {
                b1[i] = b2[i];
            }
            b1[b2.length] = 0x0;
            for (int i = 0; i < b1.length; i++) {
                System.out.println("0x" + Integer.toHexString(b1[i]));
            }
        }
    }注意:
    计算机是以二进制存放数据的
    而打印过程默认是十进制,你如果想打印16进制值必须转换
      

  11.   

    UTF-8
    不合适我程序用
    还有没有别的方法
      

  12.   

    UTF 跟 ASCII 兼容
    你能不能先运行一下再说适不适合你程序?
      

  13.   

    http://community.csdn.net/Expert/TopicView1.asp?id=3222720
      

  14.   

    运行了
    不行
    报错
    我的BYTE[]
      

  15.   

    你转换成CHAR数组,取数组长度,FOR循环赋值.
      

  16.   

    import java.util.Arrays;
    import java.io.UnsupportedEncodingException;public class ts {
        public static void main(String[] args) throws UnsupportedEncodingException {
            String svc = "123456";
            byte svc_type[] = new byte[1024];
            byte[] ascii = svc.getBytes("UTF-8");        for (int i = 0; i < ascii.length; i++) {
                svc_type[i] = ascii[i];
            }
            svc_type[ascii.length] = (byte) 0x0;        Arrays.fill(svc_type, ascii.length +1, svc_type.length, (byte) 0x30);        for (int i = 0; i < svc_type.length; i++) {
                System.out.println(svc_type[i]);
            }
        }
    }这样?
      

  17.   

    registered
    请到我发的SP开发那个贴领50分