原数据 
@樚c@奨5@亙濦s濚@f 7@[
@P近@F@繞:t@4闌4锧55^@<*P@E陦@R飝@\顼@d?@j+)@k@i?@c波@c>^@f漼@n飺@wJ獲€%@刼釦嘗侤?瑻?錊僁Q@v?@`絻@L<慇:婋@+n譆,藣@<r1@\IQ@v 旲啞)@?b@?兀澀@|@κu@狢1@?麫?砡魼?菮呼+@緿+@妙這揉z@?
我想解析这个数据
解析结果是:
yyyy     mm     dd     hh     st     so2       no2      pm10        no        co        o3
  2008     7    21    12       1      9.74     27.84     63.16     10.09     72.28     50.87
  2008     7    21    12       2     56.78     37.28    239.60    236.35    345.36     24.18
  2008     7    21    12       3      4.98     11.38     39.36     11.32     46.79     19.45
  2008     7    21    12       4      4.42     14.58     34.06     13.16     58.01     21.63
现在我已经把数据都读出来了,但是都是乱码,现在的问题就是二进制转换成可以用的数据,谢谢大师指教?

解决方案 »

  1.   

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    int ch = 0;
    try {
    while ((ch = is.read()) != -1) {
    baos.write(ch);
    }
    byte[] data = baos.toByteArray();
    returnString = new String(data, "GB2312");
    is.close();
    baos.close();各位说的是这样的情况么?
      

  2.   

    float temp;
    double t;
    int i = 0;
    while ((temp = dis.readFloat()) != -1) {
    System.out.print(temp + "  ");
    i++;
    if (i == 11) {
    System.out.println("");
    i = 0;
    }
    // out.write(temp);
    }
    我感觉这样的也可以,我感觉
      

  3.   

    源数据也用不着以String的形式显示给我们,因为,你的二进制数据里面的内容,并不是字符串。
    如果像将源数据的内容显示给大家看,那么,请将其内容,转换成十六进制,以十六进制的形式显示给大家。