其中byte数组中包含中文和英文。

解决方案 »

  1.   

    String s = "abc";
    byte[]  b = s.getBytes();
    String s2 = new String(b);
      

  2.   

    我这个byte数组,是通过socket传过来的,服务器是用c++写的
      

  3.   

    不好用吗?如果乱码,就指定charsetName
    String s2 = new String(byte bytes[], String charsetName)
      

  4.   

    恩,是的,不好用,下面是我返回的byte数组的内容
    byte[0]  ascii=1
    byte[1]  ascii=0
    byte[2]  ascii=0
    byte[3]  ascii=105
    byte[4]  ascii=0
    byte[5]  ascii=0
    byte[6]  ascii=0
    byte[7]  ascii=1
    byte[8]  ascii=81
    byte[9]  ascii=64
    byte[10]  ascii=112
    byte[11]  ascii=2
    byte[12]  ascii=10
    byte[13]  ascii=49
    byte[14]  ascii=46
    byte[15]  ascii=32
    byte[16]  ascii=45
    byte[17]  ascii=27
    byte[18]  ascii=14
    byte[19]  ascii=125
    byte[20]  ascii=27
    byte[21]  ascii=15
    byte[22]  ascii=32
    byte[23]  ascii=10
    byte[24]  ascii=50
    byte[25]  ascii=46
    byte[26]  ascii=32
    byte[27]  ascii=84
    byte[28]  ascii=65
    byte[29]  ascii=79
    byte[30]  ascii=47
    byte[31]  ascii=84
    byte[32]  ascii=32
    byte[33]  ascii=84
    byte[34]  ascii=65
    byte[35]  ascii=79
    byte[36]  ascii=47
    byte[37]  ascii=48
    byte[38]  ascii=53
    byte[39]  ascii=51
    byte[40]  ascii=50
    byte[41]  ascii=45
    byte[42]  ascii=56
    byte[43]  ascii=53
    byte[44]  ascii=48
    byte[45]  ascii=49
    byte[46]  ascii=53
    byte[47]  ascii=53
    byte[48]  ascii=53
    byte[49]  ascii=53
    byte[50]  ascii=47
    byte[51]  ascii=81
    byte[52]  ascii=73
    byte[53]  ascii=78
    byte[54]  ascii=71
    byte[55]  ascii=68
    byte[56]  ascii=65
    byte[57]  ascii=79
    byte[58]  ascii=32
    byte[59]  ascii=80
    byte[60]  ascii=69
    byte[61]  ascii=78
    byte[62]  ascii=71
    byte[63]  ascii=70
    byte[64]  ascii=69
    byte[65]  ascii=73
    byte[66]  ascii=32
    byte[67]  ascii=65
    byte[68]  ascii=73
    byte[69]  ascii=82
    byte[70]  ascii=32
    byte[71]  ascii=83
    byte[72]  ascii=69
    byte[73]  ascii=82
    byte[74]  ascii=86
    byte[75]  ascii=69
    byte[76]  ascii=82
    byte[77]  ascii=32
    byte[78]  ascii=67
    byte[79]  ascii=79
    byte[80]  ascii=46
    byte[81]  ascii=44
    byte[82]  ascii=76
    byte[83]  ascii=84
    byte[84]  ascii=68
    byte[85]  ascii=47
    byte[86]  ascii=76
    byte[87]  ascii=73
    byte[88]  ascii=32
    byte[89]  ascii=84
    byte[90]  ascii=65
    byte[91]  ascii=79
    byte[92]  ascii=10
    byte[93]  ascii=51
    byte[94]  ascii=46
    byte[95]  ascii=32
    byte[96]  ascii=84
    byte[97]  ascii=65
    byte[98]  ascii=79
    byte[99]  ascii=50
    byte[100]  ascii=50
    byte[101]  ascii=48
    byte[102]  ascii=10
    byte[103]  ascii=30
    byte[104]  ascii=3
      

  5.   

    这个要看你c++传过来得中文编码方式是什么,java默认得使unicode编码,假如你c++用的使gb1312,这边就用,string s= String.getBytes(byte ,"gb1312")
      

  6.   

    给个例子, 123abc 传过来的 byte[] 的结果是什么?