java 中 如何将byte数组转换成string?

解决方案 »

  1.   

    byte[] bbb;//...String str = new String(bbb);或者String str = new String(bbb, "UTF-8"); //这里第二个参数指定字符集,字符集为byte数字的字符集
    //如果指错了会乱码。
      

  2.   

    你贴你的主要代码看看??
    你不知道你拿到的byte数组的字符集吗??中文的话,还可以下面试试看。
    String str = new String(bbb, "GBK");
      

  3.   

    InputStream is;
    byte[] packHead = new byte[2];//定义报文头
    byte[] packType = new byte[1];// 定义类型
    byte[] packLen = new byte[4];// 定义长度
    is.read(packHead);
    System.out.println("packHead:"+packHead);
    is.read(packType);
    System.out.println("packType:"+packType);

    is.read(packLen);
    System.out.println("packLen:"+packLen);
    int len = bytesToHexInteger(packLen);
    System.out.println("len:"+len);
    byte[] packData = new byte[3];
    is.read(packData);
    System.out.println("packData:"+packData);
    String xml = this.bytesToHexString(packData);
    System.out.println("xml:"+xml);bytesToHexString()里面的内容就是你写的方法
      

  4.   

    byte数组问题[问题点数:100分] 这个帖子也是楼主你的呀。现在packHead,packType和packLen 都对了嘛?
    byte[] packData = new byte[3];
    不该是
    byte[] packData = new byte[len];
    吗?
    难道 len就是3?
    还有把这句
             System.out.println("packData:"+packData);
    换成
    System.out.println("packData:"+Arrays.toString(packData));我想看看输出。
    还有bytesToHexString虽说是我写的,你贴出来看看吧。
    其实另一个帖子里bytesToHexInteger这个函数也是我给你写的哦~~